LINUX.ORG.RU

Ошибка при сборке


0

0

При сборке проги вылазит такой еррор:
src/stats.c: In member function `bool StatGroup::Add(std::string, unsigned int (*)(), int)':
src/stats.c:178: error: ISO C++ forbids cast to non-reference type used as lvalue
src/stats.c: In member function `bool StatGroup::Add(std::string, char*(*)(), int)':
src/stats.c:196: error: ISO C++ forbids cast to non-reference type used as lvalue
make: *** [src/stats.o] Ошибка 1

В указаных строчках находится такая инструкция:

(void *)sc.value.callback = (void *)cb;

Нутром чуствую, что можна что-то изменить, но я не знаю до
такой степени Си шоб самому вьехать.

sc.value.callback = (void*)cb;

так будет работать. не надо пытаться применять
преоброзование типов к lvalue.

idle ★★★★★
()
Ответ на: комментарий от Valerius

> а теперь ругается

значит, это C++, а не С. хм... мог бы и сам догадаться :)

вот и пишите:
    lvalue = (void*(*)()) rvalue;

как я мог преобрАзование через 'о' написать?

idle ★★★★★
()
Ответ на: комментарий от idle

Спасиба! Собралось и даже вроде работает! :)

Valerius ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.