[英]C++ Functions as parameters
我有一個包含C ++代碼的DLL,它在Visual C#中完美運行。 當我在C ++ DLL中創建一個fucton時,它會顯示在Visual C#中,即使使用參數也可以調用它。 但是,當我將函數指針添加為C ++ DLL中的參數之一時,Visual C#無法找到它。
C ++函數:
int TEST(int *func) // Works fine and shows up in visual C#.
{
return 0;
}
int TEST2(int (*func)()) // Works, however doesn't show up in Visual C#
{
return 0;
}
更新:
當我從C#調用TEST2時,我收到錯誤: 'TEST2' is not supported by the language
函數指針參數應該像這樣聲明:
int TEST2(int (*func)()) { /*...*/ }
我很確定你需要圍繞*func
括號來告訴編譯器* func是一個指向函數int (*func)()
的指針,而不是你所擁有的int *(*func)()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.