qgraphicsitem_cast vs. dynamic_cast
Verfasst: 22. Dezember 2009 10:58
Moin,
ich habe gerade einen etwas komischen Fall.
Ein Item wird mit qgraphicsitem_cast gecastet, und ist danach das was es nicht ist.
End und StartItem Erben jeweils von BaseItem<QGraphicsEllipseItem>, welches von seinem Parameter erbt, sind also beides von QGraphicsEllipseItem abgeleitete Klassen. Paint ist überschrieben, das wars auch schon.
Dynamic_cast funktioniert hier ohne Probleme, wieso schlägt qgraphicsitem_cast also hier fehl, und castet mein StartItem zu einem EndItem?
phlox
ich habe gerade einen etwas komischen Fall.
Ein Item wird mit qgraphicsitem_cast gecastet, und ist danach das was es nicht ist.
Code: Alles auswählen
EndItem* end = qgraphicsitem_cast<EndItem*>(item);
if(end)
ar & end;
else
{
StartItem* start = qgraphicsitem_cast<StartItem*>(item);
if(start)
ar & start;
}Dynamic_cast funktioniert hier ohne Probleme, wieso schlägt qgraphicsitem_cast also hier fehl, und castet mein StartItem zu einem EndItem?
phlox