Seite 1 von 1

unklarer Programmabsturz

Verfasst: 21. Februar 2014 00:16
von Pauer
Hallo zusammen,

um QStringList zu testen, habe ich ein kleines Programm geschrieben, dieses besteht aus der header datei position.h:

Code: Alles auswählen

#ifndef POSITION_H
#define POSITION_H

#include <QString>
#include <QStringList>
#include <QList>

class position
{
public:
public:
    position();
    QString offenePositionen(QString offeneposition);
    QString zeigePositionen();
private:
    QStringList s_offenePositionen;
};

#endif // POSITION_H
der Quelldatei position.cpp:

Code: Alles auswählen

#include "position.h"

#include <QStringList>
#include <QList>
#include <QDebug>

position::position()
{
}

QString position::offenePositionen(QString offeneposition)
{
    s_offenePositionen.append(offeneposition);
}

QString position::zeigePositionen()
{
    QString alleoffenenPositionen = s_offenePositionen.join(", ");
    qDebug() << alleoffenenPositionen;

}
und der main.cpp:

Code: Alles auswählen

#include "position.h"

#include <QtGui>
#include <QApplication>

int main (int argc, char* argv[]) {
    QApplication app(argc, argv);

    position offene;
    QString Penner, Superstar;

    offene.offenePositionen(Penner);
    offene.offenePositionen(Superstar);
    offene.zeigePositionen();
}
wenn ich das nun ausführen will, kommt folgende Meldung:

Code: Alles auswählen

Starte D:\qt projekte\positiontest-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__Debug\debug\positiontest.exe...Das Programm ist abgestürzt.
D:\qt projekte\positiontest-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__Debug\debug\positiontest.exe beendet, Rückgabewert -1073741819
Das Problem scheint wohl zeigePositionen() sein, da es funktioniert, wenn ich das rausnehme. Mir ist leider nicht klar, warum das Programm abstürzt.
Für Hilfe bin ich sehr dankbar.

MfG
Patrick

Re: unklarer Programmabsturz

Verfasst: 21. Februar 2014 08:41
von odt
Eigentlich müsste der Compiler meckern, dass zeigePositionen keinen Return hat. Rebuilde das Projekt und schau Dir die Warnungen an.

Re: unklarer Programmabsturz

Verfasst: 21. Februar 2014 16:27
von Christian81
Wenn ein Programm abstürzt bemüht man einen Debugger und schaut nach warum es abstürzt. Den Umgang mit dem Debugger sollte zu den Grundlagen gehören.
Abgesehen davon müsste schon der Compiler meckern dass Du zwar angibst einen QString zurückliefern zu wollen, dies aber in beiden Funktionen nicht tuts.