静态成员函数不能访问非静态成员变量(深入浅出mfc)

class   CMySomeClass 

          static   void     SomeFunc(...); 
... 


SomeFunc(...)就是一个静态成员函数;它的参数里不象别的成员函数那样隐藏有this指针. 
也等效一个全局函数,但有使用权限而已,等效一个public成员函数,无论你设它为private/protected,就是说,任何地方都可以调用CMySomeClass:SomeFunc(...)...      

 

 函数ReceiveChar()是一个static   function
        又:   mystr是一个public成员变量,外部只能这样调用CSerialPort::mystr, 
        内部CSerialPort的成员函数里调用mystr等效于this-> mystr; 
        ReceiveChar()是静态函数,没有this指针,所以不能直接调用mystr,所以编译器给了你上面的警告. 

        好,ReceiveChar()是用static的定义的话,就是此原因. 

posted @ 2012-06-13 09:04  卜卜  阅读(365)  评论(0)    收藏  举报