静态成员函数不能访问非静态成员变量(深入浅出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的定义的话,就是此原因.

浙公网安备 33010602011771号