var
ListArr:array of TStringlist
i,j:integer
begin
j:=strtoint(edit1.Text)
SetLength(ListArr,j)
for i:=1 to j do
begin
ListArr[i-1]:=Tstringlist.Create
end
end
那么输入得到的就是listListArr[0],ListArr[1],ListArr[2]....
放在某个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 }
你好,你的问题仅仅是很简单的没有命名空间前缀,"std::", 简单将你列出的第2行,改成“std::list<int>Backpack”就行了。头文件里定义的标识符是“std::list”,而不是“list”,后者不是模板类的定义,所以不能和尖括号连用,报第一个错C2143。同时当假定list是一个变量后,发现前面没类型定义,就报告了第2个错C4430。 我的编译器vs2013不会报告你的第3个错。
在cpp文件里,你可以在所有#include之后,加入一行“using namespace std”,来避免重复输入"std::"前缀; 如果你全cpp只用<list>,也可以只输入“using std::list”
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)