VC6.0中友元函数访问类的私有成员的bug
来源:互联网 发布:陕西蒲城广电网络 编辑:程序博客网 时间:2024/06/07 05:13
最近写程序时候遇到了一个问题,上网查了之后发现这是vc6.0的bug。
继上次发现getline有bug以来,这是第二次了。顿时让我想起某人说的“珍惜生命,远离VC6”,这句话太对了
废话不多说,问题如下代码所示:
这个是重载类对象的<< 操作符时遇到问题。在程序中可以看到,在类的友元函数中我访问了一个类A的私有成员m。
这原本是没错的,类的友元函数是可以访问该类的私有成员的,但是这里确报错了。错误提示如下:
cpp(17) : error C2248: 'm' : cannot access private member declared in class 'A'
cpp(13) : see declaration of 'm'
cpp(23) : error C2593: 'operator <<' is ambiguous
提示不能访问A的私有成员,此时再看下头文件里
#include <iostream>
using namespace std;
解决这个bug有几个方法:
第一:把它改成#include <iostream.h>后再编译就一切正常,可以输出m的值2.
第二:如果你非要用#include <iostream> using namespace std;那也行,只要把该友元函数直接定义在类的内部
还有其他的方法,这里不说了。
最后还是得说一句“珍惜生命,远离vc6"
- VC6.0中友元函数访问类的私有成员的bug
- VC6.0中友元函数无法访问类私有成员的解决办法-------VC6.0的bug
- VC6.0中友元函数无法访问类私有成员的解决办法-------VC6.0的bug
- VC6.0中友元函数无法访问类私有成员的解决办法(VC6.0的bug)
- VC6.0中友元函数无法访问类私有成员的解决办法-------VC6.0的bug
- VC6.0中友元函数无法访问类私有成员的解决办法
- VC6.0中友元函数无法访问类私有成员的解决办法
- VC6.0中友元函数无法访问类私有成员的解决办法
- VC6.0中友元函数无法访问类私有成员的解决办法
- VC6.0中友元函数无法访问类私有成员的解决办法
- VC6.0中友元函数无法访问类私有成员的解决办法
- VC6.0中友元函数无法访问类私有成员的解决办法
- VC6.0中友元函数无法访问类私有成员的解决办法
- VC6.0中重载操作符函数无法访问类的私有成员[转]
- 访问类的私有成员
- 访问类的私有成员
- VC6_0中友元函数无法访问类私有成员的解决办法---VC6_0的经典bug(转)
- 友函数访问类的私有数据成员
- 基于流的I/O--流与缓冲
- Ubuntu9.04下讯雷的安装方法与wine配置
- java学习标杆
- Java Applet与浏览器间的通信技术
- 2009.8.15 Syser Debugger 1.99.1900.1160 Release
- VC6.0中友元函数访问类的私有成员的bug
- 并查集及其应用
- Visual Studio 2005/2008 调试出现“无法显示该网页”!
- sqlplus 查询结果为2
- 登录sqlplus
- wxWidgets c++ 新的旅途
- Insert Data To Oracle Table By Python
- JAVA的日期时间相减问题
- 类成员的三级存取