C++ ライブラリの C ラッパーを追加しています。場合によっては、ユーザー定義のコールバック関数をライブラリに渡す必要があります。また、コールバック関数のプロトタイプには参照パラメーターがあります。例えば:
typedef void (*callBackFunc)(A& a, B& b); //A, B are classes
以下の C プロトタイプを外部ヘッダー ファイルで使用し、ラッパー ライブラリに組み込まれているいくつかのヘルパー関数を使用して、オブジェクト a と b を解釈したいと考えています。
typedef void (*callBackFunc)(void *a, void *b);
ラッパー ライブラリのヘルパー関数:
extern "C" int getValueFromA(void *a) {
A* pa = (A *)a;
return pa->value;
}
....
この方法は機能しますか?参照パラメーターがどのように実装されているかわかりません。