Meine C++ Programm kompiliert und arbeitet, bis ich diese Funktion aus dem Haupt() aufrufen:"Eine Zugriffsverletzung (Segmentierungsfehler) in Ihrem Programm ausgelöst."
int uword(){fstream infile("numbers.txt");
fstream exfile("wordlist.txt");
string numb[numoflines];
string lines[numoflines];
number = 1;
line = 1;
for(int i=0;i<numofline;++i)
{
getline (infile,number);
numb[i] = number; //I think this is causing the problem
getline (exfile,line);
lines[i] = line; //This too
}
infile.close();
exfile.close();
string yourword;
Etwas hier führt es zum Absturz zu bringen, in dem Debug erscheint es mit „eine Zugriffsverletzung (Segmentation Fault) erhöht in dein Programm. "
EDIT: Mein Fehler wurde verwendet! Infile.eof in der for-Schleife.
Ihre Eingangsschleife ist falsch. GMan gab eine gute Erklärung, wie man Eingaben in [einer Antwort auf eine der C++ FAQ-Fragen] richtig handhabt (http://stackoverflow.com/questions/4258887/semantics-of-flags-on-basic-ios/4259111#) 4259111). –
Das Ändern von! Infile.eof() zu i <= numoflines (was dasselbe tun sollte) gibt mir immer noch den Fehler. Ich denke, das ist es, was Sie mit Ihrer Referenz gemeint haben. – Mark
Meinst du i