为什么我不能将 PictureBox^ 存储在 std::vector 中?
Why can't I store a PictureBox^ in a std::vector?
对于我正在构建的碰撞系统,我需要一个图像向量:
vector<PictureBox^> Wall{ Player1,Wall_1,Wall_2 };
这就是我实例化向量的方式,但没有成功编译。
vector<PictureBox^> Wall;
您可以像这样完美地实例化向量,因为没有向它添加任何内容。
当我尝试用第一个实例编译程序时,这些是我得到的一些错误...
我已经尝试了几乎所有符合标准的容器,例如 list 和 deque,但都没有成功。
有什么想法吗?
您不能将标准 C++ 与 C++/CLI 混合使用,因为它们的类型有特殊要求(比如它们的指针被垃圾收集)。如果要在其中存储 gc-ed 指针,则必须使用它们的特定容器。
例如,通用数组是 List
:
List<PictureBox^>^ list = gcnew List<PictureBox^>();
对于我正在构建的碰撞系统,我需要一个图像向量:
vector<PictureBox^> Wall{ Player1,Wall_1,Wall_2 };
这就是我实例化向量的方式,但没有成功编译。
vector<PictureBox^> Wall;
您可以像这样完美地实例化向量,因为没有向它添加任何内容。
当我尝试用第一个实例编译程序时,这些是我得到的一些错误...
我已经尝试了几乎所有符合标准的容器,例如 list 和 deque,但都没有成功。
有什么想法吗?
您不能将标准 C++ 与 C++/CLI 混合使用,因为它们的类型有特殊要求(比如它们的指针被垃圾收集)。如果要在其中存储 gc-ed 指针,则必须使用它们的特定容器。
例如,通用数组是 List
:
List<PictureBox^>^ list = gcnew List<PictureBox^>();