在C ++函数之间传递C#类

时间:2013-11-26 09:01:31

标签: c# c++ c++-cli

我想知道是否可以在c ++函数之间传递我调用的C#对象?我已经可以从我的本机代码中调用我的C#dll,但现在我需要在c ++函数之间传递一个对象,这也意味着我需要在头文件中声明它...

在我的头文件中定义时,我收到以下错误:

BOOL Exists(Api ^api);

Error   60  error C3395: 'ApiBase' : __declspec(dllexport) cannot be applied to a function with the __clrcall calling convention

有谁知道我应该如何处理我的标题?

1 个答案:

答案 0 :(得分:3)

使用__declspec(dllexport)导出本机C ++类。但听起来你的类是一个托管的.net ref类。如果要导出受管客户端和非受管客户端的功能,则需要声明两个类。一个是托管的ref类,一个是本地类。

或许问题是您尝试导出具有__declspec(dllexport)托管参数的函数。再一次,这是不可能的。