我想從C++調用C API。 API需要一個函數指針,但對我來說,功能是在C++函數對象中實現的,因爲它具有狀態。當API要求函數指針時使用函數對象
實際上,所需的功能被分成兩個功能對象。 C api需要一個函數,它有兩個指針參數用於返回每個函數對象返回的兩件事情。
除了定義一個全局函數,還有什麼方法可以使用C中的函數對象。例如,是否可以將它重新解釋爲函數指針?
EDITS:
爲了簡化其確定的假設,回叫的簽名是無效(*f)(void*, int*, int*)
哦,它必須是C++ - 03
也許傳遞一個lambda函數? – Cornstalks
函數指針對C api所需的函數簽名是什麼? – phonetagger
@phonetagger爲了簡單起見,假設(void *,int *,int *)void *會傳遞一些狀態信息。 – san