写某个程序时有如下一段
struct goods{
CString m_NO;
int nSstyle;
float fNumber;
float fPrice;
float fTotal;
};
struct User{
CString m_Name;
CString m_Tel;
CList <goods ,goods> goodsList;
};
这里编译不通过,即使把goods改成存在的数据类型如INT,都是有错的
错误提示说: error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(553) : 参见“CObject::CObject”的声明
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(524) : 参见“CObject”的声明
和
d:\program files\microsoft visual studio 8\vc\atlmfc\include\afxtempl.h(781) : error C2248: “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)
请问是不是不可以把CLIST放在结构体里定义?
struct goods{
CString m_NO;
int nSstyle;
float fNumber;
float fPrice;
float fTotal;
};
struct User{
CString m_Name;
CString m_Tel;
CList <goods ,goods> goodsList;
};
这里编译不通过,即使把goods改成存在的数据类型如INT,都是有错的
错误提示说: error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(553) : 参见“CObject::CObject”的声明
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\afx.h(524) : 参见“CObject”的声明
和
d:\program files\microsoft visual studio 8\vc\atlmfc\include\afxtempl.h(781) : error C2248: “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)
请问是不是不可以把CLIST放在结构体里定义?
换成 TCHAR m_NO[20];之类的试试。
放在某个DLG的头文件里
#pragma once
#include "afxcmn.h"
// MainDLG 对话框class MainDLG : public CDialog
{
DECLARE_DYNAMIC(MainDLG)
public:
struct goods{
CString m_NO;
int nSstyle;
float fNumber;
float fPrice;
float fTotal;
};
struct User{
CString m_Name;
CString m_Tel;
CList <goods ,goods> goodsList;
};
CList <User,User> userList;
public:
MainDLG(CWnd* pParent = NULL); // 标准构造函数
virtual ~MainDLG();
// 对话框数据
enum { IDD = IDD_DIALOG1 };
..........
struct放到Clist里面
struct goods{
CString m_NO;
int nSstyle;
float fNumber;
float fPrice;
float fTotal;
};
struct User{
CString m_Name;
CString m_Tel;
CList <goods ,goods> goodsList;
};
CList <User,User> userList;
这段中User结构中包含了一个CList
而UserList又以为User类为摸版.即CList中不能 包含CList
不知道是否是这样?