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