gpt4 book ai didi

windows - 如何制作 System::Windows::Forms::Checkbox^ 的向量/数组

转载 作者:可可西里 更新时间:2023-11-01 11:14:13 31 4
gpt4 key购买 nike

找不到此问题的任何答案,甚至没有提出任何问题。所以我想做的是一个 std::vector,也许只是一个普通的复选框数组。

std::vector< System::Windows::Forms::CheckBox^ >m_items;
m_items.push_back( myCheckbox );

这就是我目前拥有的,但显然不起作用。那么有没有人对如何让它工作有任何想法,因为我已经尽我所能,但矢量似乎不支持复选框。

如果您需要错误代码:

c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmemory(200): error C3699: '&&' : cannot use this indirection on type 'System::Windows::Forms::CheckBox ^'
1> c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector(421) : see reference to class template instantiation 'std::allocator<_Ty>' being compiled
1> with
1> [
1> _Ty=System::Windows::Forms::CheckBox ^
1> ]
1> c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector(481) : see reference to class template instantiation 'std::_Vector_val<_Ty,_Alloc>' being compiled
1> with
1> [
1> _Ty=System::Windows::Forms::CheckBox ^,
1> _Alloc=std::allocator<System::Windows::Forms::CheckBox ^>
1> ]
1> d:\programming\vc++ projects\mahi wcs race maker\mahi wcs race maker\RestrictedItemsForm.h(69) : see reference to class template instantiation 'std::vector<_Ty>' being compiled
1> with
1> [
1> _Ty=System::Windows::Forms::CheckBox ^
1> ]
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector(630): error C3699: '&&' : cannot use this indirection on type 'System::Windows::Forms::CheckBox ^'
1>c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector(655): error C3699: '&&' : cannot use this indirection on type 'System::Windows::Forms::CheckBox ^'
1>d:\programming\vc++ projects\mahi wcs race maker\mahi wcs race maker\RestrictedItemsForm.h(69): error C4368: cannot define 'm_items' as a member of managed 'MahiWCSRaceMaker::RestrictedItemsForm': mixed types are not supported
1>d:\programming\vc++ projects\mahi wcs race maker\mahi wcs race maker\RestrictedItemsForm.h(170): error C2663: 'std::vector<_Ty>::push_back' : 2 overloads have no legal conversion for 'this' pointer

最佳答案

常规std::vector不支持 CLR 引用类型。相反,您必须使用 cliext::vector .包括以下内容:

#include <cliext/vector>

并用于:

cliext::vector<System::Windows::Forms::CheckBox^> items;
items.push_back(myCheckBox);

当然,您也可以使用常规的 .Net 集合,例如 List<T> ,其行为类似于 vector .

关于windows - 如何制作 System::Windows::Forms::Checkbox^ 的向量/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7537809/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com