访问私有变量时出现c2248错误
c 2248 error during private variable access
我试图使用公共函数从类访问私有变量。
class myCls : public CFormView
{
private:
CString pvtMem;
public:
CString getPvtmem() { return pvtMem; }
}
我做了这样的事情:
myCls *lmyCls = new myCls() ;
CString *lPvtMem = lmyCls->getPvtmem();
,但我得到错误c2248然后我把pvtMem从私人改为公共。但我还是犯了同样的错误。我试图访问pvtMem直接使用对象,因为它的公共。但力量似乎起作用了。我做了各种各样的点击,比如
myCls lmyCls;
CString lPvtMem = lmyCls.pvtMem ;
编译器不喜欢任何东西:(好吧,myCls是在batchdlh文件中定义的,它#包含在我的电话课。
在您的第一个示例中,您返回"CString",但将其分配给"CString *"(指针)。
在第二个示例中,您调用类的operator=()方法(赋值操作符)。修改"lPvtMem"将修改它的变量副本,而不是原始变量。
试题:
CString *getPvtmem() { return &pvtMem; }
CString *lPvtMem = lMyCls.getPvtmem();
现在函数返回一个指向私有成员的指针,赋值是指向CString类的指针。现在修改lPvtMem将修改类中的对象。
相关文章:
- 尝试从基类访问受保护的构造函数时出现错误 C2248
- MVSE12中出现错误C2248,std::thread
- 错误 C2248:"std::unique_ptr<_Ty>::unique_ptr":无法访问类"std::unique_ptr<_Ty>"中声明的私有成员
- 错误 C2248:无法访问类中声明的受保护成员
- Visual Studio 2012错误C2248在STD ::线程中
- 尝试初始化MFC CCcriticalSection时出现错误C2248
- 错误C2248:无法访问类中声明的私有成员,运算符=
- 在这种情况下,如何正确使用ifstream的引用?错误C2248
- 错误 C2248:'CObject::CObject':无法访问类 'CObject' afxwin.h 中声明的私有成员
- 错误C2248,这个错误是什么?我该如何修复它
- 错误 C2248:'std::promise<_Ty>::promise':无法访问类 'std::promise<_Ty>' 中声明的私有成员
- 使用Visual Studio 2012代码分析时出现错误C2248
- 再次出现错误 C2248
- 错误 C2248:无法访问在类中声明的私有成员,编译器行为异常
- 在 Visual Studio 2012 中编译启用 CLR C++项目时出现 C2248 错误
- 命名空间内出现错误 C2248 友元类
- 传递 CList 变量时会出现错误 C2248:"CObject::CObject":无法访问私有成员
- 无法访问在类"QReadWriteLock"中声明的私有成员错误 1 错误 C2248:'QReadWriteLock::QReadWriteLock'
- 访问私有变量时出现c2248错误
- 为什么在下面的代码中复制构造函数是私有的时候会出现C2248错误