私はメンバとして関数ポインタを持つクラスを持っています。あるケースでは、そのポインタが関数オブジェクトを指すようにしたいと思いますが、それは可能ではありませんか?メンバ関数関数オブジェクトへのポインタ
class C {
public:
C();
private:
void (*p)();
struct Functor {
void operator()() {
}
};
};
C::C() : p(Functor()) {
}
int main(int argc, char **argv) {
C c;
}
私が取得:
t.cpp: In constructor 'C::C()':
Line 12: error: cannot convert 'C::Functor' to 'void (*)()' in initialization
によって定義されています。なぜそれをすることができると期待していますか? – curiousguy