|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Форум движка Xtreme3D / Свободный треп / DLL в С++ |
Страницы: 1 |
Автор | Сообщение |
FireRun частый гость Группа: Участники Сообщений: 10 |
Добавлено: 20-03-2018 04:53 |
Вопросик. пишу DLL на С++ для gm, как известно gm поддерживает double,ch ar, но возникла такая проблема, в GLUT есть функция которая принимает в виде аргумента функцию типа void, пробовал перевести функцию в void, но не помогает, VS ругается. Пример кода: glutDisplayFunc((void)RenderScene); // функция которая принимает в виде аргумента void функцию. На эту строчку кода VS и ругается,что не может изменить в тип void. //сама функция RenderScene double RenderScene() { //Код return 0.0; } |
|
JunkerKun частый гость Группа: Участники Сообщений: 17 |
Добавлено: 20-03-2018 12:24 |
Нужно передать указатель на эту функцию. Будет что-то вроде: glutDisplayFunc(&RenderScene); Учти, что при этом функция либо должна быть типа void, либо ее указатель надо привести к void, просто передавать указатель на функцию типа отличного от того, что принимает метод не получится: (void*)renderPointer = static_cast<(void*)>(&RenderScene); Точнее не скажу - редко использую, поэтому не помню точно, но должно быть что-то вроде такого. Поподробнее можно прочитать погуглив "C++ function pointer" и "C++ function pointer casting". |
Страницы: 1 |
Форум движка Xtreme3D / Свободный треп / DLL в С++ |