我如何在 C++/CLI 中将结构添加到 ArrayList

How I can Add struct to ArrayList in C++/CLI

我有以下 VC++ 代码

ref struct solution
{
    public :ArrayList ^ cromosom;
    public :int cost;
};

ArrayList players = gcnew ArrayList();
sol1 = gcnew ArrayList();
solution solve;
solve.cost=10;
solve.cromosom = gcnew ArrayList(players);
sol1->Add(solve);

soll->Add(solve); 发生错误,错误为:

cannot convert parameter 1 from 'game::solution' to 'System::Object ^'

我该如何解决这个问题?

这不是真正的 C++,而是 C++/CLI,因为您正在使用 .NET 类。

试试这个:

ref struct solution
{
    public :ArrayList ^ cromosom;
    public :int cost;
};

ArrayList players = gcnew ArrayList();
sol1 = gcnew ArrayList();
solution ^solve = gcnew solution;
solve->cost=10;
solve->cromosom = gcnew ArrayList(players);
sol1->Add(solve);

您的解决方案不能是堆栈分配对象!