1

C++\CLI で 2 次元のリストを作成したいと考えています。問題はそれを宣言する方法ですか?

私はこれを試しました:

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);
 }
}

次に、次のエラーを始めとして、多くの構文エラーが発生します。

エラー C3225: 'T' のジェネリック型引数は 'System::Collections::Generic::List' にすることはできません。値型または参照型へのハンドルでなければなりません

4

2 に答える 2

2

この宣言では

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

右の型指定子が左の型指定子に対応していません。する必要があります

List<List<int>^>^ H = gcnew List<List<int>^>(); 
于 2013-11-09T14:23:13.843 に答える
1

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);
 }
}

Thx、ヤン

于 2013-11-09T15:22:09.530 に答える