【发布时间】:2012-08-03 17:33:57
【问题描述】:
我试图返回一个 CStringArray: 在我的“.h”中,我定义了:
Private:
CStringArray array;
public:
CStringArray& GetArray();
在 . cpp 我有:
CQueue::CQueue()
{
m_hApp = 0;
m_default = NULL;
}
CQueue::~CQueue()
{
DeleteQueue();
}
CStringArray& CQueue::GetArray()
{
return array;
}
我试图从另一个文件中调用它:
CStringArray LastUsedDes = cqueue.GetArray();
我猜是因为上面的行,我得到了错误:
error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'
【问题讨论】:
-
你确定那是产生错误的代码吗?返回对
CStringArray的引用应该可以工作,当您尝试按值返回时,通常会出现该错误。 -
@user1563551 然后请发布一个完整的、可编译的示例来重现错误。
-
@user1563551 当您没有发布代码时,谁能告诉您是否需要在构造函数中更改任何内容?除非您发布一些代码,否则无法为您提供帮助,我们可以尝试自己编译以了解发生了什么。开始从课堂中取出东西,直到它尽可能小并且仍然产生相同的错误消息。然后在此处发布类定义以及一些显示您如何使用它的代码。
-
出于好奇,如果您将数组设置为 public,为什么不使用点运算符访问数据。大多数人会对此皱眉,但是,如果你赶时间的话。
标签: c++ visual-studio-2010 visual-c++ mfc