Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Casting_operator kann nicht zum Konvertieren von 'type1' in 'type2' verwendet werden.
Bemerkungen
Ein Umwandlungsoperator hat versucht, zwischen inkompatiblen Typen zu konvertieren. Beispielsweise können Sie den dynamic_cast-Operator nicht verwenden, um einen Zeiger in einen Verweis zu konvertieren. Der dynamic_cast Operator kann nicht zum Umwandeln von Qualifizierern verwendet werden. Alle Qualifizierer für die Typen müssen übereinstimmen.
Sie können den const_cast Operator verwenden, um Attribute wie const, , volatileoder __unaligned.
Beispiele
Im folgenden Beispiel wird C2682 generiert:
// C2682.cpp
class A { virtual void f(); };
class B: public A {};
void g(A* pa) {
B& rb = dynamic_cast<B&>(pa); // C2682
}
Im folgenden Beispiel wird C2682 generiert:
// C2682b.cpp
// compile with: /clr
ref struct R{};
ref struct RR : public R{};
ref struct H {
RR^ r ;
short s;
int i;
};
int main() {
H^ h = gcnew H();
interior_ptr<int>lr = &(h->i);
interior_ptr<short>ssr = safe_cast<interior_ptr<short> >(lr); // C2682
interior_ptr<short>ssr = reinterpret_cast<interior_ptr<short> >(lr); // OK
}