QT アプリケーションで外部ライブラリにリンクしようとしています。外部ライブラリには、呼び出しようとしている次の関連コードを含むヘッダー ファイルがあります。
extern VGRABDEVICE_API bool V_AssignFrameSizeCallback(IGrabChannel* pChannel, void* pFunc);
提供されているデモ C++ プログラムでは、コンパイルに問題はありません。次の関連コードは次のとおりです。
// in main.cpp
void _stdcall MyFrameSizeCallback(T x) {
do_stuff;
}
int main(int argc, char* argv[]) {
IGrabChannel* pChannel0 = something;
V_AssignFrameSizeCallback(pChannel0, MyFrameSizeCallback);
}
このコードを QT アプリケーションに組み込もうとしていますが、問題が発生しています。私のmainwindow.cppファイルで:
void _stdcall MainWindow::MyFrameSizeCallback(T x) {
do_stuff;
}
void MainWindow::someFunction() {
IGrabChannel* pChannel0 = something;
V_AssignFrameSizeCallback(pChannel0, &MainWindow::MyFrameSizeCallback);
}
私が得ているエラーは次のとおりです。
error: C2664: 'bool V_AssignFrameSizeCallback(IGrabChannel *,void *)' :
cannot convert argument 2 from 'void (__cdecl MainWindow::* )(T)' to 'void *'
There is no context in which this conversion is possible
私は何をする必要がありますか?ありがとう。