error C2248: cannot access protected member declared in class '****'
2010-10-20 12:13
405 查看
from: http://hi.baidu.com/%BC%BC%CA%F5%B2%BB%CA%C7%B7%B9%CD%EB/blog/item/496b5b507143c5858d54305f.html
vs2008下,从“类”创建的对象无法访问该“类”的 protected 或 private 成员,不可以执行拷贝构造函数。
我遇到这个问题时,情况是这样的:
=> 本来有一个类QGraphicsItem,我添加新类GeologicalItem并继承自该类:
class GeologicalItem : public QGraphicsItem
{
public:
GeologicalItem();
protected:
private:
// 数据成员。
int i;
int j;
}
情况大概就是这样。编译就出现error C2248错误。
vs2008下,从“类”创建的对象无法访问该“类”的 protected 或 private 成员,不可以执行拷贝构造函数
解决方法:自己编写新类的复制构造函数和赋值构造函数:
GeologicalItem(const GeologicalItem &item);
GeologicalItem& operator=(const GeologicalItem &item);
编译,成功通过!
vs2008下,从“类”创建的对象无法访问该“类”的 protected 或 private 成员,不可以执行拷贝构造函数。
我遇到这个问题时,情况是这样的:
=> 本来有一个类QGraphicsItem,我添加新类GeologicalItem并继承自该类:
class GeologicalItem : public QGraphicsItem
{
public:
GeologicalItem();
protected:
private:
// 数据成员。
int i;
int j;
}
情况大概就是这样。编译就出现error C2248错误。
vs2008下,从“类”创建的对象无法访问该“类”的 protected 或 private 成员,不可以执行拷贝构造函数
解决方法:自己编写新类的复制构造函数和赋值构造函数:
GeologicalItem(const GeologicalItem &item);
GeologicalItem& operator=(const GeologicalItem &item);
编译,成功通过!
相关文章推荐
- error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject'
- error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject'
- error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject'
- error C2248: 'QObject::QObject' : cannot access private member declared in class 'QObject'全解
- error C2248: 'std::basic_ios::basic_ios' : cannot access private member declared in class 'std::basic_ios'
- error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject'
- error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject'
- error C2248: 'CObject::operator =' : cannot access private member declared in class
- error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject'
- error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'
- Qt编译错:cannot access private member declared in class 'QObject'
- error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject'
- 重载operator<<的迷惑,关于cannot access private member declared in class
- error C2248: cannot access private member declared in class
- c++,vc6.0,中友元函数,无法访问私有字段(private)的问题(problem),cannot access private member declared in class 'Date'
- CstringArray error C2248: 'CObject::CObject' : cannot access private member declared in class
- Visual C++ error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject
- JNI遇到error: request for member 'FindClass' in something not a structure or union
- UIView CALayer 属性不显示错误 Property cannot be found in forward class object 'CALayer
- JNI遇到error: request for member 'FindClass' in something not a structure or union