'operator' : illegal address of bound member function expression
You cannot take the address of a virtual function.
Example
class A { public: virtual int func(); } a; int (*pf)() = &a.func; // error class B { public: void mf() { &this->mf; //error } };