无法添加到c ++ cli集合:: generic :: list

时间:2014-08-25 09:02:20

标签: c++-cli

我做了一个像这样的简单树类:

public ref class SimpleTreeNode {
public:
    String^ Data;
    List<SimpleTreeNode^>^ Children = gcnew List<SimpleTreeNode^>;
}

然而,当我去尝试添加这样的东西时:

auto^ nstn = gcnew SimpleTreeNode();
nstn->Children->Add(gcnew SimpleTreeNode());

它说&#34;错误:函数&#34; System :: collections :: generic :: List :: Add [with T = SimpleTreeNode ^]&#34;不能使用给定的参数列表

调用

参数类型是:(SimpleTreeNode ^) 对象类型是:System :: Collections :: Generic :: List ^&#34;

我在这里想念的是什么?这应该有效,不是吗?

1 个答案:

答案 0 :(得分:1)

对于您的情况,您应该为ref和值类型使用关键字auto而不使用hat。像这样:

auto nstn = gcnew SimpleTreeNode();
auto cN = nstn->Children->Count;

nstn->Children->Add(gcnew SimpleTreeNode());
auto cN2 = nstn->Children->Count;