Compiler Error C2276

'operator' : illegal address of bound member function expression

The address of a virtual function was taken.

The following is an example of this error:

class A
{
public:
   virtual int func();
} a;
int (*pf)() = &a.func;   // error
class B
{
public:
   void mf()
   {
  &this->mf;       //error
   }
};