0

それが私がやろうとしていることです:関数ポインターであるメンバー(属性)を持つクラスがあります。クリエーターでは、同じクラスのいくつかのメソッドをそのポインターに割り当て (条件によっては)、他のメソッドで使用したいと考えています。例えば:

class monton
 {
 private:
 protected:
  
  bool (*comparador)(int a, int b);

  inline bool mayor(int a, int b) {return a > b;}
  inline bool menor(int a, int b) {return a < b;}
  ...

 public:
  monton (bool maximo = true)
   {
   if(maximo) comparador = mayor;
   else       comparador = menor;
   }
  ...
 };

このコードを CodeBlocks でコンパイルすると、次のエラーが発生します。

error: cannot convert ‘monton::mayor’ from type ‘bool (monton::)(int, int)’ to type ‘bool (*)(int, int)’|
4

2 に答える 2