关于友元函数的跨平台问题
今天我在项目中写了一段代码,这段代码中有两个类A和B,类A中的一个保护成员函数需要访问类B中的私有成员变量,为了简便起见,我将类A中的这个保护成员函数设置成类B的友元函数,在VC下编译通过,没有任何问题。但是在LINUX下编译却出现了错误,说该函数是保护的。在LINUX下我的GCC/G++版本是4.4.1,根据错误提示,我将类A中的那个保护成员函数改为public就OK了。我记得在GCC的低版本中是可以编译通过的,但在高版本中就不行了,看来GCC编译器的语法检查是越来越严谨了。
- 原文作者:Witton
- 原文链接:https://wittonbell.github.io/posts/2010/2010-02-03-关于友元函数的跨平台问题/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。