Compiler Error C2643

illegal cast from pointer to member

A pointer to a member of a class, structure, or union was cast to a different type.

The following is an example of this error:

class C
{
public:
   int i;
   operator int*() { return &i; }
};
int C::* cpi = (int*)&C::i; // error
int C::* cpi2 = &C::i;      // OK