Bonjour à tous,
j'ai le programme suivant :

.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.