Я работаю с библиотекой, которая переопределяет NULL. Это вызывает некоторые проблемы с другими частями моей программы. Я не уверен, что я могу с этим поделать. Любая идея? Моя программа на C ++, библиотека на C .
#ifdef NULL
#undef NULL
#endif
/**
* NULL define.
*/
#define NULL ((void *) 0)
О, и он выдает следующие ошибки:
Generic.h:67: error: default argument for parameter of type 'LCD::LCDBase*' has type 'void*'
Generic.cpp: In constructor 'LCD::Generic::Generic(std::string, Json::Value*, int, LCD::LCDBase*)':
Generic.cpp:44: error: invalid conversion from 'void*' to 'QObject*'
Generic.cpp:44: error: initializing argument 2 of 'LCD::LCDWrapper::LCDWrapper(LCD::LCDInterface*, QObject*)'
Generic.cpp: In member function 'void LCD::Generic::BuildLayouts()':
Generic.cpp:202: error: invalid conversion from 'void*' to 'LCD::Widget*'
Generic.cpp: In member function 'void LCD::Generic::AddWidget(std::string, unsigned int, unsigned int, std::string)':
Generic.cpp:459: error: invalid conversion from 'void*' to 'LCD::Widget*'
scons: *** [Generic.o] Error 1
Вот первый:
Generic(std::string name, Json::Value *config, int type, LCDBase *lcd = NULL);
Редактировать: Хорошо, приведение явно работает, но как преобразовать указатель на функцию?