Я пытаюсь реализовать _set_se_translator.Я попытался написать функцию со следующей подписью (из моего файла .cpp - конечно, у меня есть аналогичная подпись в моем файле .h):
void CIntersonBScan::trans_func(unsigned int u, EXCEPTION_POINTERS* pExp)
Затем я передаю эту функцию в качестве параметра_set_se_translator, написав следующий код:
_set_se_translator(&CIntersonBScan::trans_func);
Затем я скомпилировал свой код и получил следующее сообщение об ошибке:
error C2664: '_set_se_translator': не удалось преобразовать параметр 1 из 'void (__ thiscall)CIntersonBScan :: *) (без знака int, EXCEPTION_POINTERS *) 'в' _se_translator_function '
В файле eh.h я нашел следующее определение для _se_translator_function:
typedef void (__cdecl *_se_translator_function)(unsigned int, struct _EXCEPTION_POINTERS*);
Я пытался варьироватьподпись trans_func и все равно получил то же сообщение об ошибке.Я уже установил параметр компиляции / EHa.Как создать функцию, которая на самом деле соответствовала бы сигнатуре _se_translator_function?