2016-10-04 2 views
1

C#에서 실행되도록 CLI에 C++ 라이브러리를 래핑합니다. 여기C++/CLI에서 매개 변수로 함수 전달

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

의 예입니다 :

이것은 C++ 라이브러리 내 기능입니다

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

    myObj.setCallback(callbackHandler,3); 

방법 CLI 함수로 변환하는? C# 함수를 setCallback (C++) 함수에 전달하는 방법은 무엇입니까?

+0

'유형,'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);이며 때문이 아니라, 컴파일되지 않습니다) 당신은`대리자를 만들 필요가

관련 문제