Я хочу создать класс, который использует WINAPI AddVectoredExceptionHandler.
Я немного погуглил, и все говорят, чтобы он был статичным, поскольку WINAPI - это чисто C и не знает классов.
Если я сделаю его статическим, я не смогу использовать член класса внутри статической функции.
После этого я немного погуглил на тему "как вызвать нестатический метод из статического метода того же класса? C ++"
Но не нашел ничего, кроме функций Callback WINAPI.
https://www.experts -exchange.com / статьи / 655 / Как к обеспечить-а-CALLBACK-функцию-INTO-а-C-класса object.html
Как я могу использовать этот WINAPI в классе? так как это не функция обратного вызова? (Я также погуглил функцию обратного вызова) (Кажется, не один?)
class VEH
{
public:
VEH();
private:
void functionA(int a);
/*static*/ LONG ExceptionHandler(EXCEPTION_POINTERS* ExceptionInfo);
};
VEH::VEH()
{
AddVectoredExceptionHandler(2,(PVECTORED_EXCEPTION_HANDLER)ExceptionHandler); //INVALID TYPE CONVERSION (if non static)
}
void functionA(int a){
}
LONG ExceptionHandler(EXCEPTION_POINTERS* ExceptionInfo){
functionA(2); //a non-static member reference must be relative to a specific object (if static)
}