读书人

c++,关于this指针丢失求先人解惑

发布时间: 2013-04-21 21:18:07 作者: rapoo

c++,关于this指针丢失,求前辈解惑啊
小弟写了一个显示灯的窗口类CLight_View,放在主窗口上显示,用一个CGraphic_Wrapper(m_pDrawCtrl) 包装了一下CLight_View,
主窗口触发一个点击事情,在消息处理函数中调用CGraphic_Wrapper 接口使窗口变红,代码如下
m_pDrawCtrl->AlaramOrNot(STORAGE);

在 CGraphic_Wrapper::AlaramOrNot(TIPTYPE tp,BOOL bAlarm )中才真正调用CLight_View处理变红
代码如下
m_pLightTip->GrayOrRed((int)tp,(int)bAlarm);


int CLight_View::GrayOrRed(int index,int type)
中,发现只要用成员函数,就报指针违规错误,
半天才发现原来this真正居然变成了0xcdcdcdcd这个东东,,,
百思不得其解啊,,求前辈解惑啊,感激不尽
C++ 指针 类
[解决办法]
你肯定在哪里对一个未初始化的CLight_View对象调用了成员函数。去调用堆栈看看把
[解决办法]
m_pLightTip 这个指针 new 了吗? 好像没初始化哦
[解决办法]
GrayOrRed是static? 不然m_pLightTip->GrayOrRed((int)tp,(int)bAlarm);这句就报错了 哪进的去

GrayOrRed? GrayOrRed里的this不就是m_pLightTip?

读书人网 >C++

热点推荐