Zum Beispiel habe ich Code wie dieIst es möglich, von einer Basisklasse zur anderen zu dynamic_cast?
class Base1
{
virtual void wonderFULL() = 0;
};
class Base2
{
// all this weird members
};
class Derived : public Base1, public Base2
{
// not so weird members
};
int main()
{
Derived Wonder;
magicFunction(&Wonder);
return 0;
}
void magicFunction(Base2 *ptr)
{
if (Base1 *b1 = dynamic_cast<Base1 *>(ptr))
b1->wonderFULL();
}
Allerdings ist wunderbar nie wegen Unmöglichkeit ausgeführt ptr auf b1 zu werfen. Ist es überhaupt möglich, eine solche Umwandlung durchzuführen?
'-1' für das Posten von Code, der ein Problem hat, das die Kompilierung des Codes in einem Bereich verhindert, der sehr eng mit dem Problem verbunden ist. – sbi
Ich stimme mit sbi überein. Dieses Beispiel sollte wie folgt aussehen: http://www.ideone.com/dg0gc. 'magicFunction' sollte vor' main' gehen, 'wonderFULL' sollte definiert und öffentlich sein. – Bill