Простая программа qt, не запущенная с сообщением об ошибке «Ошибка сегментации»

Успешно скомпилировать его, но когда я его запустил, терминал выдал мне сообщение «Ошибка сегментации (сброшено ядро)». Я использую компилятор g ++ на Ubuntu.

Код является:

#include <QApplication>
#include <QLabel>
#include <QLineEdit>
#include <QVBoxLayout>
#include <QWidget>

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

QWidget window;
QLabel *label = new QLabel;
QLineEdit *edit = new QLineEdit;
QObject::connect(edit, SIGNAL(textChanged(const QString&)), label, SLOT(setText(const QString&)));

QVBoxLayout *layout;
layout->addWidget(edit);
layout->addWidget(label);
window.setLayout(layout);

window.show();return app.exec();
}

1

Решение

QVBoxLayout *layout не инициализирован, вы используете неинициализированный указатель.

Правильный путь:

QVBoxLayout *layout = new QVBoxLayout;
// use layout..

http://qt-project.org/doc/qt-4.8/qvboxlayout.html

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]