Partager via


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;
}