new[] delete wann error?
-
hyperschlau schrieb:
wat passiert eigentlich, wenn ich immer delete[] verwende?
wäre das sicher?Nein. Es sei denn du wuerdest auch immer new[] verwenden.
Aber das ganze ist doch irrelevant - da man sowieso kein falsches delete verwendet. Warum? Weil man Arrays so schoen in Klassen stecken kann...
Abgesehen davon, ist ein delete mit delete[] verwechseln ein Anfaengerfehler, mehr nicht.
-
Warum warnt der Compiler eigentlich nicht davor?
-
void foo (char *c) { delete c; //oder lieber delete [] c; } //bei int x; cin >> x; x ? foo(new char) : foo(new char[23]);
weil er es oft einfach nicht wissen kann
-
Erhard Henkes schrieb:
Warum warnt der Compiler eigentlich nicht davor?
Das Frage ich mich auch.
Er kann es zwar oft nicht wissen, andererseits gibt es genügend Situationen wo er es weiss.Zumindest sollte in der Debug Variante ein assert fliegen...