我正在尝试使用 C++/CLI 列出所有 WIA 设备。我对 C++/CLI 相当陌生(尽管我认为自己是一名中级 C++ 程序员),但我不断收到此错误:
error C2664: 'WIA::IDeviceInfos::default::get' : cannot convert parameter 1 from 'int' to 'System::Object ^%'
使用以下代码片段时:
DeviceManager^ dm = (gcnew WIA::DeviceManager());
for (int i = 1; i <= dm->DeviceInfos->Count; i++)
{
String^ deviceName = dm->DeviceInfos[i].Properties("Name")->get_Value()->ToString();
this->devices->Items->Add(deviceName);
}
为什么我应该将该int视为Object?在托管 C++ 中有拳击的概念,但它在这里不起作用,无论如何我认为引入 C++/CLI 是为了摆脱它?