'operator': cannot dereference a 'type1' on a 'type2'
The left operand of a pointer-to-member operator ( ->* or .* ) cannot be implicitly converted to a type related to the right operator.
Example
class C {}; class D {}; void main() { D d, *pd; C c, *pc; int C::*pmc; pd->*pmc = 0; // error d.*pmc = 0; // error pc->*pmc = 0; // okay c.*pmc = 0; // okay }