Compartilhar via


Erro do Compilador C2647

'operador': não é possível desreferenciar um 'tipo1' em um 'tipo2'

O operando esquerdo de um operador de ponteiro para membro ( ->* ou .* ) não pode ser convertido implicitamente em um tipo relacionado ao operador direito.

A amostra a seguir gera o erro 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;
}