我在 C++/CLI 中有这样的方法:
void Foo(OnEngineCloseCallback callback);
具有这样的回调定义:
typedef void (*OnEngineCloseCallback)( int, String ^ errorMessage);
C++/CLI 编译。 C# 代码如下所示:
static void onCallback( int code, String errorMessage)
{
System.Diagnostics.Debug.WriteLine(errorMessage);
}
和电话:
Foo(onCallback); // error
“该语言不支持 Foo”(错误:CS0570)。
那么如何将回调传递给 CLI/C++?
如果你们都不打算发布答案,我会这样做,因为我不喜欢没有答案的已回答问题......
您必须声明一个公共委托,而不是函数指针。基本的操作方法文章在这里。
汉斯·帕桑特
如何:定义和使用委托 (C++/CLI) http://msdn.microsoft.com/en-us/library/c320cx3h.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)