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
是否设置为活动对象?