У меня есть код, который ожидает такую функцию, как test
. Третья сторона ожидает, что это будет похоже на test2. Использование кода ниже я назначена функция test
к fn1
и fn3rdParty
, но я не знаю, как сделать fn1
работу с fn3rdParty
Typecast или вызов функтора в указатель функции?
Ошибка
ошибка C2440: «приведение типа»: не удается преобразовать из ' станд :: функция»до 'ничтожной * (__ Cdecl *) (пустота *)'
Код
class Data {};
void*test(Data*data) { return 0; }
void*test2(void*data) { return 0; }
function<void*(Data*)> fn1 = test;
void*(*fn3rdParty)(void*) = test2;
fn3rdParty = (void*(*)(void*))test;
fn3rdParty = (void*(*)(void*))fn1;//error
Должен быть лучший способ сделать это ...;) –