P
SideWinder schrieb:
In welcher Zeile wird denn der Fehler geworfen?
Hat deine Klasse CObject einen funktionierenden Copy-Constructor?
MfG SideWinder
Der Fehler tritt in Zeile 10 des dritten von mir geposteten Listings (LoadObject) auf. Der Copy-Constructor sollte funktionieren:
CObject::CObject(const CObject &rhs)
{
pSprite = new SDL_Surface;
pRect = new SDL_Rect;
*pSprite = *(rhs.pSprite);
*pRect = *(rhs.pRect);
}
Nexus schrieb:
Hat es einen speziellen Grund, wieso du den Umweg über die Init-Funktion gehst, wenn du die Initialisierung gleich im Konstruktor vollziehen könntest?
Ich will selbst bestimmen, wann das Object initialisiert wird (so kann ich z.B. ggf. das Sprite ändern) und will nicht, dass die Klasse rumzickt wenn ich nicht sofort Constructor-Argumente angebe.
Nexus schrieb:
Die letzte Zeile ist vollständig unnötig, generell würde ich hier keine dynamische Speicherverwaltung verwenden.
Du hast natürlich recht!
Nexus schrieb:
Gewöhn dir an, im Normalfall Präfix-Inkrementierungen wie ++ilO zu verwenden. Du sparst dir damit in gewissen Fällen eine unnötige Kopie.
Das wusste ich nicht, danke!
Ok das wusste ich nicht.