在C ++ / CLI中将函数作为参数传递

时间:2016-10-04 00:54:44

标签: .net c++-cli interop native mixed-mode

我将c ++库包装到CLI,因此可以在c#上运行。

这是我在c ++库中的函数:

void setCallback(void (*pFunc)(void * pParam), void * pParam);

以下是示例:

    void callbackHandler(int iNum )
    {
        cout<<"Callback : "<< iNum <<endl;
    }

    myObj.setCallback(callbackHandler,3);

如何转换为CLI功能? 如何将c#函数传递给setCallback(c ++)函数?

1 个答案:

答案 0 :(得分:0)

question "Passing C++/CLI Class Method as C function pointer"也应为您的问题提供解决方案。

(除此之外,请检查您的示例:我认为&#34; myObj.setCallback(callbackHandler,3);&#34;将无法编译,因为setCallback的签名是void setCallback(void (*pFunc)(void * pParam), void * pParam);而不是{{1 }})