0

我有一个C++ DLL这是我给一个指向静态函数作为回调:内存访问冲突从静态回调函数

static void CallBackFunc(int num); 

为了这个函数来访问我的代码的其余部分我有一个指针类在头:

static void* m_obj; 

并在代码:

void* CPPUDlg::m_obj; 

,并在静态函数我有:

CPPUDlg* m_pointer = (CPPUDlg*)m_obj; 

m_pointer->OnSerialMsg(num); 

这使得回调调用非静态函数,但是当这个功能在的applcation其他类调用等功能出了问题与内存访问冲突是在不任何变量静态的。

任何人都可以发现我可能做错了什么吗?我需要所有类的静态实例还是沿着这些线?

谢谢!

+1

是否将'm_obj'设置为活动对象? – sharptooth

回答

0

是否将m_obj设置为活动对象? - 锐利

非常感谢您的评论。

我检查,我忘了设定m_obj

在我初始化我现在设置m_obj = this;

,一切完美的作品!

谢谢!