Seite 1 von 1
Qlist erase funktion
Verfasst: 12. Februar 2010 00:35
von anno1988
Hallo,
kann es sein, dass die "erase()" funktion der Qlist etwas unsicher ist oder mache ich das nur falsch?
Hier mal mein Beispiel:
Code: Alles auswählen
struct {
int val1;
QString val2;
};
//die Anzahl der Liste wurde vorher schon auf 50 festgesetzt
QList<Struktur> test;
test.erase(test.begin() + 1, test.end() - 5);
Komischer weise bekomme ich, sobald ich den Debugger im Qtcreator aufrufe meistens eine Fehlermeldung "Gdb prozess abgebrochen (abgestürzt)".
Das passiert aber nicht jedes mal, sondern nur immer ab und zu.
Verfasst: 12. Februar 2010 06:28
von Christian81
Ich würde sagen das liegt eher am gdb...
Verfasst: 12. Februar 2010 08:50
von AuE
Wo issen Struktur her???
Also ich hab das in C Zeiten anders gelernt
#include <iostream>
using namespace std;
struct FileInfo
{
DateTime lastChanged;
DateTime created;
bool isOpen;
};
int main()
{
FileInfo info;
read_file_information("whatever.txt", &info);
cout<<FileInfo.lastChanged<<'\n';
}
Und wo setzt du denn die Größe vorher???
Folgendes Bsp läuft bei mir ohne probs:
Code: Alles auswählen
#include <QtCore/QCoreApplication>
#include <QList>
#include <QDebug>
struct MeinStrukturTyp
{
int einInt;
QString einString;
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QList<MeinStrukturTyp> meineListe;
for (int i = 0; i <= 5; i++)
{
MeinStrukturTyp typ;
typ.einInt = i;
typ.einString = QString::number(i);
meineListe.push_back( typ );
}
meineListe.erase(meineListe.begin() + 1, meineListe.end() - 2);
return a.exec();
}
Verfasst: 12. Februar 2010 10:16
von anno1988
Meistens läuft das Gdb auch durch, aber manchmal auch nicht. obwohl ich während den verschiedenen aufrufen des debuggers den code nicht verändert habe.
Verfasst: 12. Februar 2010 10:29
von Christian81
Bei sowas wie immer - valgrind is your friend

Verfasst: 12. Februar 2010 10:29
von AuE
Ja des dann a GDB Problem - habe ich auch. Meist wenn ich libs einbinde und quasi über deren Aufrufe steppe. Glaub der GDB is da noch net ganz so Sattelfest
