在BinNode里定义的int element是属于私有的,不能直接调用的。你可以在BinNode类里加一个成员函数,像 int GetElement(){ return element;} 然后把所有的element换成GetElement()就可以了~或者为了简单就直接把private的变量变成public也可以 你可以把int element移到public里,这样程序的其他地方就不用动...
如果你用的而是vc6,这应该是个别中文版的问题,就是友元有点问题,将运算符改为成员重载就可以了,程序中还有一点小错误,一并改正如下:include <iostream> include <cstring> using namespace std;class String { public:String(){p=NULL;} String(char *str);bool operator>(String &string2);...
其实,这是由于有的C++编译系统(如Visual C++6.0 )没有完全实现C++标准,他所提供的不带.h后缀的头文件不支持把运算符重载函数作为友元函数,可以将前三行改为 include "iostream.h"include "string.h"//using namespace std;这样就好了,楼主可以试一下 ...
2CArrayTest.cpp 3c:\program files\microsoft visual studio 8\vc\atlmfc\include\afxtempl.h(272) : error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject' 4c:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(559) : see declaration of ...
你是在哪儿调用的?因为你定义的类是private 私有的 所以不是哪儿都可以调用这个类的
然而在调用的时候老是报错:CStringArray error C2248: 'CObject::CObject' : cannot access private member declared in class 出现上述错误的原因是:CStringArray 不能被赋值构造函数调用。 解决方法:传引用进去 SplitStringToCString(CString str, TCHAR tszSplit, CStringArray&cstrArray);...
想必很多人在用VC2005以及之后的版本的VC编译器时看到过这个东西,在google查一下error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject' 你会发现很多人碰到类似的问题。一位叫“中国民工”的blog中说明了引发这一问题的的原因,请参见http://www.cppblog.com/hlong...
然而在调用的时候老是报错:CStringArray error C2248: 'CObject::CObject' : cannot access private member declared in class 出现上述错误的原因是:CStringArray 不能被赋值构造函数调用。 解决方法:传引用进去 SplitStringToCString(CString str, TCHAR tszSplit, CStringArray& cstrArray);...
楼上小伙根本不懂什么是友元函数啊,友元函数本可以访问私有变量,但是没有找到解决办法 http://www.cnblogs.com/xinjun/archive/2010/07/19/1780902.html 按照上面的方式也没有解决,我的解决方法是加set和get函数
vc的bug,详情请看:http://hi.baidu.com/%C4%CF%B7%C9%D1%E3%D1%E3%C4%CF%B7%C9/blog/item/4722d43c53868b09bba1672e.html 同时:friend ostream& operator>>(ostream& os,const complex &c);ostream& operator >>( ostream &os,const complex c)//少了一个& ...