Qt QVector Error



  • Hallo liebe Community,
    Ich beschäftige mich momentan mit Qt und stoße gerade auf einen Fehler an dem ich nicht weiter komme. Ich Versuche eine Zahl aus einem QVector in einer Messagebox auszugeben. Hier der Code:

    void MainWindow::stop(){
        this->recording = 1;
        this->container[0] = 100;
        QMessageBox msg;
        msg.setText("test "+QString::number(this->container[0]));
        msg.exec();
    }
    

    und hier noch die Deklaration im Header:

    private:
        int recording;
        QVector<double> container;
    

    So wenn ich das Programm nun starte und die Funktion aufrufe(über einen button), erscheint ein Pop-Up mit der Meldung "This application has requested the Runtime to terminate it in an unusual way. Please contact the applications support team for more information."

    Ich hoffe mir kann jemand helfen 🙂
    MfG Steven

    Edit: Hat sich erledigt ich hätte die Memberfunktion

    append()
    

    callen müssen anstatt den Wert direkt zuzuweisen.



  • Du kannst auch die Größe des Vektors im Konstruktor angeben oder nachträglich mit resize ändern. Dann würde die Zuweisung über den Indexoperator funktionieren. Sonst ist dein Vektor anfänglich leer und hat kein erstes Element, das du setzen könntest, daher der Laufzeitfehler.


Anmelden zum Antworten