单选题 已知类Myclass的定义如下 class MyClass { public: void function1(MyClass&c){cout<<c.data;} static void function2(MyClass&c){cout<<c.data;} void function3(){cout<<data;} staric void function4(){cout<<data;} private: int data; }; 其中有编译错误的函数是( )。
【正确答案】 D
【答案解析】解析:funcyion4()函数作为类的静态成员函数,不能直接访问类中说明的非静态成员,即cout<<data在编译时会出错。