VC++6.0友元定义在类内部

 在VC++6.0开发环境下,要注意把友元函数放在类里面定义!

 

譬如:

class Office{ protected: int cs; public: Office(int cs=0, int mhqs=0); int getcs(); friend ostream& operator << (ostream &output, Office &o){//一定要将定义放在类里面! output<<"Office:"<<endl; output<<"层数:"<<o.getcs()<<endl; return output; } };   

如果把函数的定义放在类外面,就会报错!

error   C2593:   'operator   < < '   is   ambiguous

 

 

据说这是编译器的问题,在VS环境下面可以顺利编译!

你可能感兴趣的:(c,Office,Class,vc++,编译器,output)