私はサーバーをコーディングしており、すべてのクライアントとの TCP 接続をセットアップしました。ここで、クライアントがパケットを送信すると、パケットのオペコードをチェックして処理できるようにします。
現時点では、現在含まれている OpcodeHandler 構造体がありますString name
が、別の関数を呼び出す C++ 型の関数ポインターも必要なので、構造体を型として配列を作成し、次のように配列を初期化します。
opcodes = new OpcodeHandler[max_opcodes]
{
new OpcodeHandler("someopcodenamehere", Somefunctionname);
// more new's..
}
コンストラクターの 2 番目の引数で指定された関数 : 'Somefunctionname' は、関数ポインターを呼び出すときに呼び出されます。デリゲートは C++ の関数ポインターと同じように動作するため、これが可能であると聞いたことがありますが、私の試みはすべて無駄でした。