VC6_0中友元函数无法访问类私有成员的解决办法VC6_0的经典bug(转)

转自(http://hi.baidu.com/zgjxwl/blog/item/f0382a6e4ea08ddc80cb4a3d.html

举个例子:


这些代码在VC6.0中不能被编译通过:提示不能访问私有成员,没有这个访问权限

改成这样就可以了,代码如下:

原因:

这据说是VC的一个经典BUG。和namespace也有关.

只要含有using namespace std; 就会提示友员函数没有访问私有成员的权限。

解决方法:去掉using namespace std;换成更小的名字空间。

例如:
含有#include <string>就要加上using std::string
含有#include <fstream>就要加上using std::fstream
含有#include <iostream>就要加上using std::cin; using std::cout; using std::ostream; using std::istream; using std::endl; 等等,需要什么即可包含什么.

原文地址:https://www.cnblogs.com/k1988/p/2165739.html