请教 动态 创建list,该如何 写

请教 动态 创建list,该如何 写,第1张

建议用数组 不用手动一个个创建变量名

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”


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11761122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存