2017-10-13 66 views
-1

对于我建设我需要有图像的载体的碰撞系统:为什么我不能将PictureBox ^存储在std :: vector中?

vector<PictureBox^> Wall{ Player1,Wall_1,Wall_2 }; 

我这是怎么了实例化的载体,这并不编译成功。

vector<PictureBox^> Wall; 

您可以像这样很好地实例化矢量,因为没有任何东西被添加到它。

,当我尝试与第一实例来编译程序这些都是一些我得到的错误... enter image description here

我已经尝试了几乎所有符合标准的容器,如列表和deque,但没有占上风。

任何想法?

回答

1

您不能将标准C++与C++/CLI混合使用,因为它们的类型有特殊要求(就像它们的指针被垃圾收集一样)。如果你想存储gc-ed指针,你必须使用他们特定的容器。

例如,通用阵列是List

List<PictureBox^>^ list = gcnew List<PictureBox^>(); 
+0

稀释我明白了。谢谢回复。但是我仍然有一个问题。列表未定义。我只是错过了一个标题? – DEFAULT

+0

@DEFAULT不要这么想。但是它在'System :: Collections :: Generic'命名空间中,所以你可能想为它添加一个using声明。 – Rakete1111

相关问题