Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
nie można użyć casting_operator do konwersji z "type1" na "type2"
Uwagi
Operator rzutowania próbował przekonwertować między niezgodnymi typami. Na przykład nie można użyć operatora dynamic_cast , aby przekonwertować wskaźnik na odwołanie. Operatora dynamic_cast nie można użyć do rzutowania kwalifikatorów. Wszystkie kwalifikatory typów muszą być zgodne.
Możesz użyć const_cast operatora , aby usunąć atrybuty, takie jak const, volatilelub __unaligned.
Przykłady
Poniższy przykład generuje C2682:
// C2682.cpp
class A { virtual void f(); };
class B: public A {};
void g(A* pa) {
B& rb = dynamic_cast<B&>(pa); // C2682
}
Poniższy przykład generuje C2682:
// 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
}