错误C2770:无效的显式泛型参数

时间:2018-11-06 00:36:23

标签: c# generics c++-cli

我正在尝试改行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#语法不太熟悉,所以我不清楚我在这里做错了什么。

1 个答案:

答案 0 :(得分:2)

正确的行是:

IEnum ^iAcquisitionMode = nodeMap->GetNode<IEnum ^>("AcquisitionMode");

IEnum需要^的地方,因为它是托管对象的句柄,而不是对象本身。谢谢约翰的解决方案。