Visual studio 2005 错误C2440:&x27;参数';:无法从';系统::对象^';至';int';
这是我的代码:Visual studio 2005 错误C2440:&x27;参数';:无法从';系统::对象^';至';int';,visual-studio-2005,c++-cli,Visual Studio 2005,C++ Cli,这是我的代码: for (q = 0; q < Rows; q++) { for (r = 0; r < Columns; r++) { Array1[q, r] = combo1->Items[r]; Array2[q, r] = combo2->Items[r]; } } for(q=0;qItems[r]; } } 我想从组合框中添加数组中的项,但出现错误: 错误C2440:“参数”:无法从“System:
for (q = 0; q < Rows; q++)
{
for (r = 0; r < Columns; r++)
{
Array1[q, r] = combo1->Items[r];
Array2[q, r] = combo2->Items[r];
}
}
for(q=0;qItems[r];
Array2[q,r]=combo2->Items[r];
}
}
我想从组合框中添加数组中的项,但出现错误:
错误C2440:“参数”:无法从“System::Object^”转换为“int”
这是在combo中添加项的代码
for (int m = 0; m < Rows; m++)
{
array<String^> ^b = Aray1[m]->Split(gcnew array<Char> { ',' });
for each (String ^Column in b)
{
Combo1->Items->Add(Column);
}
}
for(int m=0;mSplit(gcnewarray{',});
对于每个(b中的字符串^Column)
{
组合1->项目->添加(列);
}
}
假设您使用的是C++/CLI
根据错误判断,Array1
元素被键入int
,组合框包含包装在对象中的值。如果值实际上只是一个int
被包装在对象中^
,那么您只需要取消装箱
Array1[q,r] = safe_cast<int>(combo1->Items[r]);
Array2[q,r] = safe_cast<int>(combo2->Items[r]);
Array1[q,r]=safe_cast(组合1->Items[r]);
Array2[q,r]=安全施法(组合2->Items[r]);
如果对象^
实际上正在包装除int
之外的另一种类型(假设您使用的是C++/CLI),则会出现这种情况
根据错误判断,Array1
元素被键入int
,组合框包含包装在对象中的值。如果值实际上只是一个int
被包装在对象中^
,那么您只需要取消装箱
Array1[q,r] = safe_cast<int>(combo1->Items[r]);
Array2[q,r] = safe_cast<int>(combo2->Items[r]);
Array1[q,r]=safe_cast(组合1->Items[r]);
Array2[q,r]=安全施法(组合2->Items[r]);
如果对象^
实际上正在包装除int
之外的另一种类型,则会出现此错误“指定的强制转换无效”。使用代码Array1[q,r]=safe_cast(组合1->Items[r])@m、 qayyum那么组合中的项目可能不是包装的int
值,而是必须转换为int
的不同类型。可能是字符串
。组合中对象的类型是什么?字符串类型的项目在combo@m.qayyum您是否已通过调用combo1->Items[r]->GetType()
?@m.qayyum验证了这一点,但您是否已通过我的注释中的代码段验证了它们实际上是键入到int
?现在我收到了此错误“指定的强制转换无效”代码为Array1[q,r]=safe_cast(组合1->Items[r])@m、 qayyum那么组合中的项目可能不是包装的int
值,而是必须转换为int
的不同类型。可能是字符串
。组合中对象的类型是什么?字符串类型的项目在combo@m.qayyum您是否通过调用combo1->Items[r]->GetType()
?@m.qayyum验证了这一点,但您是否通过我的评论中的代码片段验证了它们实际上是键入到int
?