您的位置:首页 > 其它

用VC6.0遇到的一个问题

2008-07-21 18:47 120 查看
我的电脑装vs2008总是报错,不得已装了个VC6 sp6暂时先用用,发现使用重载输入输出运算符时有问题

demo3.h:


#include <iostream.h>


class demo3






{


public:


demo3();


virtual ~demo3();


friend ostream& operator << (ostream& out,const demo3& d);


friend istream& operator >> (istream& in,demo3& d);


private:


int x;




};








#include "stdafx.h"


#include "demo3.h"






/**///////////////////////////////////////////////////////////////////////


// Construction/Destruction




/**///////////////////////////////////////////////////////////////////////




demo3::demo3()






{




}




demo3::~demo3()






{




}


ostream& operator << (ostream& out,const demo3& d)






{


out<<d.x<<endl;


return out;


}


istream& operator >> (istream& in,demo3& d)






{


return in;


}



编译后报错:


error C2248: 'x' : cannot access private member declared in class 'demo3'
查了下网上的资料,说是vc6的bug,而在vc8中就没问题,暂时的解决办法是将#include<iostream>改为#include<iostream.h>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: