问题
填空题
类clasg one在声明func成员函数时发生错误,出错原因是______。 class one private: int a; public: void func(two&); }; class two { private: int b; friend vold one::func(two&); }; void one::func(two&r) { a=r.b; }
答案
参考答案:class one前没有声明语句class two;
解析: 当一个类作为另一个类的成员函数、成员函数的参数或其他情况的时候,要确保编译器能正确解析。由于在rclass orle之前没有关于class two的任何说明,而在class one的func函数中却用了class two类的参数。因此是错误的。