Freigeben über


Compilerfehler C2647

„operator“: kann einen „type1“ nicht auf einen „type2“ dereferenzieren

Bemerkungen

Der linke Operand eines Zeiger-zu-Member-Operators (->* oder .*) kann nicht implizit in einen Typ konvertiert werden, der mit dem rechten Operator verknüpft ist.

Example

Im folgenden Beispiel wird C2647 generiert:

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