Qlist erase funktion

Alles rund um die Programmierung mit Qt
Antworten
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Qlist erase funktion

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich würde sagen das liegt eher am gdb...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag 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();
}

anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag 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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Bei sowas wie immer - valgrind is your friend :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag 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 :D
Antworten