Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ cli 在C++/CLI失败,出现“错误”;无法从';int';至';系统::对象^%和#x27&引用;_C++ Cli_Wia - Fatal编程技术网

C++ cli 在C++/CLI失败,出现“错误”;无法从';int';至';系统::对象^%和#x27&引用;

C++ cli 在C++/CLI失败,出现“错误”;无法从';int';至';系统::对象^%和#x27&引用;,c++-cli,wia,C++ Cli,Wia,我正在尝试使用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 (i

我正在尝试使用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);
}
DeviceManager^dm=(gcnewwia::DeviceManager());
对于(int i=1;i设备信息->计数;i++)
{
字符串^deviceName=dm->DeviceInfo[i]。属性(“名称”)->get_Value()->ToString();
此->设备->项目->添加(deviceName);
}

为什么我要将int视为对象?在托管C++中,有拳击的概念,但它在这里不起作用,而且我认为C++是为了消除它而被引入的。

值属性需要一些非显而易见的代码来完成。试试这个:

WIA::DeviceInfo ^ info = dm->DeviceInfos[gcnew System::Int32(i)];
WIA::Property ^ propName = info->Properties[gcnew System::String(L"Name")];
String ^ strName = propName->default->ToString();