读书人

返回一个结构体变量提示莫名其妙的异常

发布时间: 2013-02-17 10:44:46 作者: rapoo

返回一个结构体变量提示莫名其妙的错误!无法访问 private 成员


定义了结构体:
struct ListData{
public:
CArray<int, int> aImages;
CStringArray aTexts;
DWORD DATA;
// ListData() {DATA=0;};
};
使用时:
ListData CReportCtrl::GetCurrentData(int nItem)
{
ListData Listdata;
return Listdata;
}

提示错误::\install\vs2010\vc\atlmfc\include\afxtempl.h(262): error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
1> d:\install\vs2010\vc\atlmfc\include\afx.h(534) : 参见“CObject::CObject”的声明
1> d:\install\vs2010\vc\atlmfc\include\afx.h(509) : 参见“CObject”的声明
1> 此诊断出现在编译器生成的函数“CArray<TYPE,ARG_TYPE>::CArray(const CArray<TYPE,ARG_TYPE> &)”中
大家帮看看怎么回事?


[解决办法]

引用:
定义了结构体:
struct ListData{
public:
CArray<int, int> aImages;
CStringArray aTexts;
DWORD DATA;
// ListData() {DATA=0;};
};
使用时:
ListData CReportCtrl::GetCurrentData(int nItem)
{
ListData Listd……

google,才谷歌一下发现不少你这样问题
[解决办法]

template < class TYPE, class ARG_TYPE = const TYPE& >
class CArray :
public CObject

CArray<int, int&> aImages;


读书人网 >C++

热点推荐