Warum kommt bei Qlist diese Fehlermeldung?
-
Was mache ich falsch:
#include <QCoreApplication>
#include <QList>
#include <QString>
#include <QDebugint main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);QList<QString> street = {"Allee","allee","Damm","damm","Gasse","gasse","Gäßchen","gäßchen","Graben","graben","Platz","platz","Straße","straße","Str.","str.","Weg","weg"}; for (int i=0; street.size();i++ ){ qDebug() << street.at(i) ; } return a.exec();
}
nach der Auflistung kommt folgende Meldung:
ASSERT failure in QList<T>::at: "index out of range", file /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h, line 571
Betätigen Sie die <RETURN> Taste, um das Fenster zu schließen...Wieso kommt hier eine Fehlermeldung?
Danke Bk -
@sowas said in Warum kommt bei Qlist diese Fehlermeldung?:
Wieso kommt hier eine Fehlermeldung?
Darum:
for (int i=0; street.size();i++ ){
-
@sowas said in Warum kommt bei Qlist diese Fehlermeldung?:
Wie kann ich dann feststellen ob ein Begriff in der Liste ist, wenn nach einem Durchlauf dass Programm abstürzt?
Indem du eine korrekt for-Schleife baust - deine Abbruchbedingung ist, wie ich Dir schon gezeigt habe, falsch.
-
Dann bitte mal lesen wie eine for-Schleife (und vor allem die Abbruchbedingung) auszusehen hat: https://www.c-howto.de/tutorial/schleifen/for-schleife/
-
c++:style:
QList<QString> street = {"Allee","allee","Damm","damm","Gasse","gasse","Gäßchen","gäßchen","Graben","graben","Platz","platz","Straße","straße","Str.","str.","Weg","weg"}; for (const auto &str: street){ qDebug() << str; }