在c#中:
public static List<List<int>> StopCapture()
{
List<List<int>> Data = new List<List<int>>();
//data.add() some data is added is here
return Data;
}
在c ++中: 我想像这样收集
List<List<int>^>^ captureCommandStrings = gcnew List<List<int>>();
captureCommandStrings = StopCapture();
错误: &#39; T&#39;的通用类型参数不能是&#39; System :: Collections :: Generic :: List&#39;,它必须是值类型或引用类型的句柄
提前致谢
答案 0 :(得分:2)
你忘记了帽子&#39;在实例化结束时:
List<List<int>^> ^Data = gcnew List<List<int>^>();
即,如果您声明数据&#39;作为指向List列表的托管指针的托管指针,那么你的实例化也必须创建一个指向int列表的托管指针列表(而不是列表的列表)。