非常疑惑的一个问题,我自己用MFC开发的Activex控件,该控件有一个定时器事件,SetTimer(1,200,NULL),
CMyOleControl::OnTimer(UINT nIDEvent)
{
  trace("m_left%d\r\n",m_left);
if (m_left>20)
 {
    return;
  }
 }
程序运行以后出现很奇怪的问题,因为m_left是成员变量,控件初始化时候,m_left已经赋值=20了,m_left绝对没有在其他地方改变值,trace以后发现有时候是20,有时候完全取出一个没有初始化的值,trace如下:
m_left:20
m_left:-842150451
m_left:-842150451
m_left:-842150451
m_left:-842150451
m_left:20
m_left:-842150451
m_left:-842150451
m_left:-842150451
m_left:-842150451
m_left:-842150451
m_left:20
m_left:-842150451
m_left:-842150451
m_left:-842150451
m_left:-842150451
m_left:-842150451