operator() をオーバーロードする抽象ファンクター クラスと、それを実装する派生オブジェクトがあります。
これらのファンクター クラスの配列を取り、メンバー関数へのポインターを std アルゴリズム for_each() に渡そうとする関数 (別のクラスの一部) があります。
編集:私はそれを再洗浄し、明確にするために古い小さな例を入れました。
class A{
  operator()(x param)=0;
  operator()(y param)=0;
}
class B: public A{
  operator()(x param); //implemented
  operator()(y param);
}
...// and other derived classes from A
void ClassXYZ::function(A** aArr, size_t aSize)
{
  ...//some code here
  for(size_t i = 0; i< aSize; i++){
    A* x = aArr[i];
    for(v.begin(), v.end(), ...//need to pass pointer/functor to right operator() of x here
..//other code
}
いくつかの方法を試しましたが、それを機能させる方法がわかりません。異なる派生型を持つことができるため、抽象型を使用する必要がありますが、それらはすべて同じ operator()(param x を実装する必要があります) 関数。
メンバ関数 operator()(param x) を呼び出せるようにするには、for_each() 関数が必要です。具体的な実装があり、それらのインスタンスを渡すだけで機能する別の関数があります。ここで同様の効果を達成しようとしていますが、どの具体的なクラスが与えられているかを知りません。
私は何を間違っていますか?