今天我在项目中写了一段代码,这段代码中有两个类A和B,类A中的一个保护成员函数需要访问类B中的私有成员变量,为了简便起见,我将类A中的这个保护成员函数设置成类B的友元函数,在VC下编译通过,没有任何问题。但是在LINUX下编译却出现了错误,说该函数是保护的。在LINUX下我的GCC/G++版本是4.4.1,根据错误提示,我将类A中的那个保护成员函数改为public就OK了。我记得在GCC的低版本中是可以编译通过的,但在高版本中就不行了,看来GCC编译器的语法检查是越来越严谨了。