在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;这样就好了,楼主可以试一下 ...
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 'CObject::operato...
你是在哪儿调用的?因为你定义的类是private 私有的 所以不是哪儿都可以调用这个类的
afresh aqua 新鲜的水色[translate] acannot access private member declared in class 'CMainFrame' 不能访问在类宣称的下院议员‘CMainFrame’[translate]
想必很多人在用VC2005以及之后的版本的VC编译器时看到过这个东西,在google查一下error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject' 你会发现很多人碰到类似的问题。一位叫“中国民工”的blog中说明了引发这一问题的的原因,请参见http://www.cppblog.com/hlong...
// C2248_access.cpp// compile with: cl /EHsc /W4 C2248_access.cpp#include<stdio.h>classX{public:intm_publicMember;voidsetPrivateMember(inti ){ m_privateMember = i; printf_s("\n%d", m_privateMember); }protected:intm_protectedMember;private:intm_privateMember; } x;intmain(){ x.m...
error C2248: 'S::S' cannot access private member declared in class 'S' Example (before) C++ Copy class S { public: S() = default; private: S(const S&) = default; }; void f(S); // pass S by value int main() { S s; f(s); // error C2248, can't invoke private co...
[translate] aerror C2248: 'Triangle::Triangle' : cannot access private member declared in class 'Triangle' 错误C2248 : ‘三角: :三角’ : 不能访问在类宣称的下院议员‘三角’[translate]