hi folkz ich hab mal eine frage zu objecten in c++ und zwar habe ich folgenden code: main.h: using namespace std; class test { public: test(); ~test(); void say(string toSay); }; main.cpp: #include <iostream> #include <string> #include "main.h" using namespace std; test::test() { cout << "test erstellt\n"; } test::~test() { cout << this << " test getoetet\n"; } void test::say(string toSay) { cout << toSay; } int main() { test Test = test(); Test.~test(); cout << "noch ist es nicht zu ende\n"; Test.say("fehler\n"); return 0; } lasse ich das programm laufen erhalte ich folgende ausgabe: test erstellt 0xbfa25ffb test getoetet noch ist es nicht zu ende fehler 0xbfa25ffb test getoetet änder ich die main folgendermaßen ab: int main() { test Test = test(); delete &Test; cout << "noch ist es nicht zu ende\n"; Test.say("fehler\n"); return 0; } sieht die ausgabe so aus: test erstellt 0xbffde59b test getoetet *** glibc detected *** free(): invalid pointer: 0xbffde59b *** WARUM ?? wenn ich das richtig verstanden habe, gibt delete &Test doch den speicherplatz von Test wieder frei, warum kommt es dann zu einer Fehlermeldung, bevor "noch ist es nicht zu ende" angezeigt wird ?? und anderseits im ersten fall das object zwei mal zerstört bzw, warum kann ich auf eine methode von Test zugreifen, obwohl es schon wieder freigegeben wurde ?? greatz Johannes -- Es gibt 10 Arten von Menschen auf dieser Welt, die einen verstehen das Binärsystem und die anderen verstehen es nicht.