Я программист на C (на linux), но теперь у меня есть проект на C++, и у меня есть вопрос.Ошибка: преобразование из 'void (FlashWork :: *) (int, siginfo_t *, void *)' to 'void * (*) (int, siginfo_t *, void *)'
Вот пример кода
g_action.sa_sigaction = (void(*)(int,siginfo_t*,void*))&FlashWork::Disconnect_action;
Когда я пытаюсь скомпилировать это x86, он отлично работает, но на руке я получаю следующее сообщение об ошибке
error: converting from
void (FlashWork::*)(int, siginfo_t*, void*)
tovoid (*)(int, siginfo_t*, void*)
Что я делаю неправильно?
Сообщение об ошибке в заголовке не соответствует коду и сообщению об ошибке в тексте вопроса. Заголовок имеет дополнительный '*' в возвращаемом типе типа назначения 'void *', а не 'void'. Тело вопроса - это правильный тип функции для sigaction. –