私は現在、小さなアプリケーションクラスを開発中です。 SDL2を痛みの少ないものにするためのあるステップを踏み出すことになっています。私は、派生クラス(アプリケーションクラスはベースインターフェイス)を実装するときに、現在のSDL_Eventを自動的に渡すためにhandleEventという関数をオーバーロードして、ユーザーがそれを処理できるようにしたいと考えています。SDLがイベントコールバックとして純粋仮想メンバー関数を呼び出すようにするには?
SDL関数SDL_AddEventWatchを使用してコールバックを作成すると、スレッドを起動して新しいイベントを手動でチェックしてメンバー関数を呼び出すよりも優れていると考えました。
ただし、SDL Documentation for the functionでは、メンバー関数を「フィルタ」として使用していません。私は純粋な仮想メンバ関数を使用しています!
私の見解からすれば、この関数が必要とする唯一のパラメータは、処理対象の偶数へのポインタです。しかし、このポインタは依然としてアクセスされなければならないので、ユーザは単にクラス内のものを直接変更することができます。
これを実装する適切な方法は何ですか?
コードはどこですか? – Phil1970
コードなしの問題は表示されません。コールバックオブジェクトを繰り返し処理し、必要なものを呼び出し、それをSDLイベントコールバックとして設定する関数を記述します。イベントキューはそれ自身を設定せず、 'SDL_PumpEvents'を呼び出す必要があることに注意してください。 – keltar