读书人

CObject:operator = 无法访问私成事员

发布时间: 2013-03-06 16:20:31 作者: rapoo

CObject::operator = 无法访问私有成员(在CObject类中声明)
我声明了一个CStringArray类型的a:
CStringArray arString;

调用函数addstr,函数返回值是CStringArray类型,返回值赋给a:
CStringArray addstr( )
{
CStringArray arrString;
arrString.Add( "a.bmp" );
arrString.Add( "b.bmp" );
return arrString;
}


运行后出现错误:
CObject::operator = 无法访问私有成员(在CObject类中声明)

在网上查找了原因是应该添加拷贝构造函数,但是我不知道的是具体的这个拷贝构造函数应该添加在哪儿?
operator?=?无法访问?私有成员
[解决办法]
CObject的派生类是不支持operator=的

改为

CStringArray* addstr( )
{
CStringArray* arrString = new CStringArray();
arrString->Add( "a.bmp" );
arrString->Add( "b.bmp" );
return arrString;
}

读书人网 >C++

热点推荐