我在类里面声明了两个静态事件成员变量,声明如下://xxxxxx.h文件
public:
static CEvent m_suspend;
static CEvent m_timeout;
我用成员函数引用该变量://xxxxxx.cpp文件
m_suspend.SetEvent();则编译器连接时候提示:
无法解析的外部符号 "public: static class CEvent CRFIDMFC_CANSSONDlg::m_suspend" (?m_suspend@CRFIDMFC_CANSSONDlg@@2VCEvent@@A)
但是当我把声明改成://xxxxxx.h文件
public:
 CEvent m_suspend;
 CEvent m_timeout;
则顺利连接,我不知道这个是为什么?哪位高手能解释下啊?

解决方案 »

  1.   

    静态对象,在CPP文件中加上初始化,就好了。
    CEvent CXXXX::m_suspend;
      

  2.   

    哦,有用了,谢谢啊
    我是在类外加的
    CEvent CCan::m_suspend(NULL,TRUE,FALSE,NULL);
    CEvent CCan::m_timeout(NULL,TRUE,FALSE,NULL);
    但是又有一个问题了啊,我这个初始化语句不在任何函数里面,它是什么时候被初始化的啊?
    (也就是改初始化语句什么时候执行的)