0

クラス内で定義されたファンクターがあります。ファンクターから外部クラスのメンバー関数に直接アクセスしたい。それ、どうやったら出来るの?このファンクターをコードの別の場所にあるテンプレート クラスに渡したいと思います。関数ポインターを使用したくありません。

ファンクターは、そのクラスの関数を呼び出すことができるように、初期化時に割り当てられたメンバーとして内部クラスへの参照を保持する必要がありますか?

  Class MyClass //outer class
    {
    void DoSomething() //member function I want to access from functor
    {
    }

    class MyFunctor //the functor who wants to access outerclass's function
    {
    void operator() ()
    {
    DoSomething() //This is a member function of outer class
    }
    }   

    };

}

ファンクター内の外部クラスへのローカル参照を保持したい場合、ファンクターへのインスタンス (ポインターではない) を作成し、ファンクターのコンストラクターで外部クラスへのポインターを渡すにはどうすればよいでしょうか?

4

0 に答える 0