“CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
编译环境:vc2010、mfc单文档应用程序
问题:将一个结构体变量压入vector出错
具体:
1. 定义结构体:
typedef struct LineTooltip
{
CRgn rgn_line; // CRgn区域的线
CString sBeginElementID; // 线对应的起始元素ID
CString sEndElementID; // 线对应的截止元素ID
} LineTooltip;
2. 头文件中定义vector:
vector<LineTooltip> vLineTooltip;
3. 实现文件中将结构体变量压入vector:
CPoint point1(0, 0);
CPoint point2(0, 2);
CPoint point3(100, 2);
CPoint point4(100, 0);
CPoint pointLine[4] = {point1, point2, point3, point4};
LineTooltip tempLineTooltip;
tempLineTooltip.rgn_line.CreatePolygonRgn(pointLine, 4, WINDING);
tempLineTooltip.sBeginElementID = L"";
tempLineTooltip.sEndElementID = L"";
vLineTooltip.push_back(tempLineTooltip); // 运行到此句出错
4. 提示错误:
1>c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxwin.h(362): error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
1> c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(534) : 参见“CObject::CObject”的声明
1> c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(509) : 参见“CObject”的声明
1> 此诊断出现在编译器生成的函数“CGdiObject::CGdiObject(const CGdiObject &)”中