Visual c++ 来自静态回调函数的内存访问冲突 我有一个C++ DLL,它给一个静态函数指针作为回调: static void CallBackFunc(int num);

Visual c++ 来自静态回调函数的内存访问冲突 我有一个C++ DLL,它给一个静态函数指针作为回调: static void CallBackFunc(int num);,visual-c++,callback,function-pointers,static-methods,access-violation,Visual C++,Callback,Function Pointers,Static Methods,Access Violation,为了让此函数访问我的其余代码,我在标题中有一个指向类的指针: static void* m_obj; 在守则中: void* CPPUDlg::m_obj; 在静态函数中,我有: CPPUDlg* m_pointer = (CPPUDlg*)m_obj; m_pointer->OnSerialMsg(num); 这允许回调函数调用非静态函数,但当该函数调用应用程序中其他类中的其他函数时,它会出现错误,任何非静态变量的内存访问冲突 谁能看出我做错了什么?我是否需要所有类的静态实例或类

为了让此函数访问我的其余代码,我在标题中有一个指向类的指针:

static void* m_obj;
在守则中:

void* CPPUDlg::m_obj;
在静态函数中,我有:

CPPUDlg* m_pointer = (CPPUDlg*)m_obj;

m_pointer->OnSerialMsg(num);
这允许回调函数调用非静态函数,但当该函数调用应用程序中其他类中的其他函数时,它会出现错误,任何非静态变量的内存访问冲突

谁能看出我做错了什么?我是否需要所有类的静态实例或类似的东西

谢谢

m_obj是否设置为活动对象?——锐齿

非常感谢你的评论

我检查了一下,忘了设置
m_obj

在我的初始化中,我现在设置
m_obj=this

一切都很完美


谢谢

m_obj
是否设置为活动对象?