我正在尝试改行Point Grey的新Spinnaker API的API示例,使其与现有的flycapture 2 c ++ / CLI程序一起使用,并转换为c ++ / cli。但是我完全被困在这里:
IEnum iAcquisitionMode = nodeMap.GetNode<IEnum>("AcquisitionMode");
我认为这会变成:
IEnum ^iAcquisitionMode = nodeMap->GetNode<IEnum>("AcquisitionMode");
但是VS抛出:
错误C2770:“ NodeType SpinnakerNET :: GenApi :: INodeMap :: GetNode(System :: String ^)”的无效的显式泛型参数
我对c#语法不太熟悉,所以我不清楚我在这里做错了什么。
答案 0 :(得分:2)
正确的行是:
IEnum ^iAcquisitionMode = nodeMap->GetNode<IEnum ^>("AcquisitionMode");
IEnum需要^的地方,因为它是托管对象的句柄,而不是对象本身。谢谢约翰的解决方案。