Ich möchte dies werfen:Guss const Klasse mit dynamic_cast
class Base
{
public:
virtual ~Base(){};
};
class Der : public Base {};
int main()
{
const Base* base = new Der;
Der* der = dynamic_cast<Der*>(base); // Error
return 0;
}
Was soll ich tun? Ich habe versucht, zu setzen: const Der* der = dynamic_cast<Der*>(base);
, um die Const zu halten, aber das funktioniert nicht.
Ich habe versucht, es funktioniert nicht. – okami
Sie brauchen const zweimal - einmal im Typ der Variable, der zugewiesen wird, und einmal im 'dynamic_cast'. Im Beispiel von dem, was Sie versucht haben, hatten Sie nur das erste. – Eclipse
ok. Aber nur eine Frage unter meiner Frage. Warum sollte ich virtuell halten ~ Base() {}; zu dynamic_cast gibt mir keinen Fehler? – okami