Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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
}