2016-10-04 10 views
1

私はCLIにC++ライブラリをラップしてC#で実行できるようにしています。C++/CLIでパラメータとして関数を渡す

これは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++)関数に渡すにはどうすればよいですか?

+0

'type、および' gcroot 'を含む管理されていない構造体です。 – Medinoc

+0

https://msdn.microsoft.com/en-us/library/at4fb09f(v=vs.110).aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1 –

答えて

0

question "Passing C++/CLI Class Method as C function pointer"は、問題の解決策も提供する必要があります。

(それはあなたの例を確認してください横:私は "myObj.setCallback(たcallbackHandlerが、3);" と思うのsetCallbackの署名が void setCallback(void (*pFunc)(int * pParam), int param); void setCallback(void (*pFunc)(void * pParam), void * pParam);あるとNOTので、コンパイルされません)あなたは `デリゲートを作成する必要があり

関連する問題