ordonencement de déclaration
Bonjour à tous,
j'ai le programme suivant :
.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QWidget>
#include <QPushButton>
#define BUFSIZE 256
class MainWindow : public QWidget
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private :
QPushButton *boutton;
char *outputBuffer;
bool *bypass;
private slots :
void buttonClicked();
};
#endif // MAINWINDOW_H |
.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #include "mainwindow.h"
#include <QGridLayout>
#include <QDebug>
mainWindow::MainWindow(QWidget *parent) :
QWidget(parent)
{
qDebug() << "Well hello there!";
boutton = new QPushButton("Click here");
QGridLayout *layout = new QGridLayout();
layout->addWidget(boutton, 0, 0, 2, 2);
setLayout(layout);
*bypass = false;
outputBuffer = new char[BUFSIZE];
connect(boutton, SIGNAL(clicked(bool)), this, SLOT(buttonClicked()));
}
void MainWindow::buttonClicked()
{
qDebug()<<"You just clicked";
}
MainWindow::~MainWindow()
{
qDebug() << "Job done! see ya later!";
} |
ce programme marche très bien sauf si j'inverse dans le .h les déclaration suivantes :
Code:
1 2 3 4 5 6 7 8 9
| private :
// compile et fonctionne
char *outputBuffer;
bool *bypass;
//Compile et crash
private :
bool *bypass;
char *outputBuffer; |
j'ai beau me creuser la tête, je ne comprends pas ce problème;
j'ai placé ce message ici plutôt qu'en Qt, parce les classes impliquée sont standart. mais si c'est spécifique à Qt, je déplacerai le problème.
merci d'avance pour votre aide.