Zusammengehörende Aufrufe von new und delete sollten die gleiche Form haben:
string *str = new string; string *strarray = new string[100]; ... delete str; delete [] strarray;
Der Effekt von
delete [] str; delete strarray;
ist undefiniert Nicht in der Form anwenden!
Außerdem folgt:
Wenn verschiedene Konstruktoren new verwenden, sollten sie das alle in der gleichen Form tun, da es nur einen Destruktor gibt.