C ++ Cout überschreibt sich selbst während der for-Schleife
Die cout-Anweisung in dieser for-Schleife:
for (vector<Student>::iterator qw = students.begin(); qw != students.end(); ++qw){
Student a = *qw;
name = a.getName();
regno = a.getRegNo();
std::cout << "Name: "<< name << " Reg Number: " << regno << endl;
}
Verursacht ein merkwürdiges Verhalten, sollte das Cout etwa so aussehen:
Name: Mike Sanderson Reg Nummer: 10101
Was es aber tatsächlich druckt:
Reg Number: 10101on
Es scheint mir, dass nach dem zweiten Teil der cout-Anweisung zum Zeilenanfang zurückgekehrt wird und sich selbst überschrieben wird, aber warum? Hoffe ihr könnt mir helfen und wenn ihr mehr Infos braucht lasst es mich wissen!