C++ cli 二维列表<;T>;在C++\CLI

C++ cli 二维列表<;T>;在C++\CLI,c++-cli,C++ Cli,我想在C++\CLI中创建一个二维列表。问题是如何申报 我试过这个: List<List<int>^>^ H = gcnew List<List<int>>(); // Scoring matrix H H->Add(gcnew List<int>() ); for (i = 0; i < n; i++) // Fill matrix H with 0 { for (j = 0; j < m; j++) { H

我想在C++\CLI中创建一个二维列表。问题是如何申报

我试过这个:

List<List<int>^>^ H = gcnew List<List<int>>(); // Scoring matrix H
H->Add(gcnew List<int>() );

for (i = 0; i < n; i++) // Fill matrix H with 0
{
 for (j = 0; j < m; j++)
 {
 H[i]->Add(0);
 }
}
List^H=gcnewlist();//评分矩阵H
H->Add(新建列表());
对于(i=0;iAdd(0);
}
}
然后我得到了很多语法错误,从这个开始:

错误C3225:“T”的泛型类型参数不能是“System::Collections::generic::List”,它必须是此声明中引用类型的值类型或句柄

List<List<int>^>^ H = gcnew List<List<int>>(); 
List^H=gcnewlist();
右侧类型说明符与左侧类型说明符不对应。应该是

List<List<int>^>^ H = gcnew List<List<int>^>(); 
List^H=gcnewlist();

根据Hans和Vlad的建议,这似乎是可行的:

List<List<int>^>^ H = gcnew List<List<int>^>(); // Scoring matrix H

for (i = 0; i < n; i++) // Fill matrix H with 0
 {
 H->Add(gcnew List<int>() );
 for (j = 0; j < m; j++)
 {
 H[i]->Add(0);
 }
}
List^H=gcnewlist();//评分矩阵H
对于(i=0;iAdd(新建列表());
对于(j=0;jAdd(0);
}
}

Thx,Jan

使用命名空间System::Collections::Generic添加
。为了修复代码,您需要添加
n
列表,而不仅仅是一个。汉斯,很好。添加了名称空间。在我看到你的帖子之前更新了代码。