Erreur du compilateur C2647
'operator' : impossible de déréférencer un 'type1' sur un 'type2'
L’opérande gauche d’un opérateur pointeur à membre ( ->*
ou .*
) ne peut pas être converti implicitement en un type lié à l’opérateur droit.
L’exemple suivant génère l’erreur 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;
}