在c#中,我希望将对列表对象的引用传递到c++-CLI中。c++-cli dll的命名空间为MatsWrapper。Contact是托管对象。
List<Contact> contactList = new List<Contact>();
String str = "C:\\DATA20110524064.h5";
MatsWrapper.Class1 cl = new MatsWrapper.Class1();
cl.CallMats(str, ref contactList);我的c++-cli dll函数是否有正确的签名?
int MatsWrapper::Class1::CallMats(String^ file_path, std::list<Contact>^ contactList)
{
}我无法亲自测试它,因为我不知道如何在c++-cli中访问Contact对象。但是当我发现如何访问它时,我的签名会与C#调用CallMats的方式一致吗?谢谢,某人
发布于 2013-03-17 03:57:30
您的C++/CLI函数需要接受List < Contact > ^,而不是STL列表。但是你的编译器应该已经指出了这一点。使用C++/CLI,您的接口函数应该只包含托管类型。毕竟,这就是C++/CLI与托管代码交互的意义所在。
https://stackoverflow.com/questions/15453839
复制相似问题