so bin ich nicht sicher, ob dies einen Fehler in Qt ist oder wenn ich verstehe einfach nicht, etwas, aber ich habe diese Klasse:Qt zwei QList Membervariablen verursacht Crash
class myClass : public QDialog, private Ui::myClass
{
Q_OBJECT
public:
explicit myClass(QWidget *parent = 0);
private:
QList<ushort> list1;
QList<ushort> list2;
}
Ich schaffe dieses Fenster indem du auf eine Aktion in einem anderen Fenster klickst:
void mainWindow::on_myClassAction_triggered()
{
myClass *mc = new mc(NULL);
mc->show();
}
So wird es jetzt merkwürdig. Selbst wenn ich list1 und list2 nirgendwo in myClass verwende, stürzt das Programm ab, wenn ich myClass schließe oder manchmal öffne. Wenn ich einen oder beide ausdenke, funktioniert es. Was geht hier vor sich??
Um ehrlich zu sein, ich glaube nicht, dass es etwas mit QList zu tun hat .. ich würde vorschlagen, dass Sie noch mehr Code posten – evilruff
Das ist alles Code, den ich posten muss! Wenn ich im zweiten Block 'myClass * mc = new mc (NULL)' mit 'myClass * mc = new mc (this)' ändere, dann funktioniert alles. Ich glaube, dass es etwas mit dem Löschen der QList zu tun hat, weil der Fehler, der auf den Absturz geworfen wird, HEAP CORRUPTION DETECTED ist. – picklechips
Nun würde ich vorschlagen, Konstruktor zu verfolgen. – evilruff