PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : segmentation fault



SourceKoT
24-02-2003, 17:31
Hallo liebe Community,

Warum funktioniert das untere Programm nicht?
Ich kriege immer ein Zeiger Problem "segmentation fault"

#include <iostream>
#include <string>


using namespace std;

int main(int argc,char* argv[]){

string str="asdf" ;
delete &str;
return 0;

}

Ist doch alles legitim!? Das Problem taucht erst beim ausführen auf nicht beim kompilieren!

arthur
24-02-2003, 18:12
hi,
du machst da was sehr böses,
erstens legst du ein String Objekt auf dem Stack,
und dann versuchst du ihn mit delete (dynamisch) zu löschen
was so nicht gehen kann.
also entwender legst du den string dynamisch an mit:


string *str = new string("asdf");

oder du lässt das delete aus.