Error del compilador C2647
"operator": no se puede desreferenciar un "type1" en un "type2"
El operando izquierdo de un operador de puntero a miembro (->*
o .*
) no se puede convertir implícitamente en un tipo relacionado con el operador derecho.
El ejemplo siguiente genera el error C2647:
// C2647.cpp
class C {};
class D {};
int main() {
D d, *pd;
C c, *pc = 0;
int C::*pmc = 0;
pd->*pmc = 0; // C2647
d.*pmc = 0; // C2647
// OK
pc->*pmc = 0;
c.*pmc = 0;
}