Facade Pattern
Allegroのスレッドの使用をラップしたいと思います。つまりinstall_int_ex(void (__cdecl*)(void), int tick);
、remove_int(void (__cdecl*)(void))
テンプレートを使用してuser-defined Functor Objects
、クラスが作成および破棄されたときに割り込みをインストールおよび削除するために作成したクラスを使用します。
コンパイラエラーが発生し続けます:error C2664: 'install_int_ex' : cannot convert parameter 1 from 'void (__thiscall [User-defined FunctorName Here]::* )(void)' to 'void (__cdecl *)(void)'
および同様のremove_int(void (__cdecl*)(void))
呼び出された関数がユーザーデータへのポインターを受け入れる場合、これは機能するようですvoid*
残念ながら、Allegroはこれほど柔軟ではありません。この制限を回避する方法はありますか、それともWindowsを使用する必要がありますかCreateThread
(そしてプロセスで「実際の方法」のスレッド化を学ぶ必要がありますか)?