tabasc0 | Bonjour,
Depuis hier j'ai un problème lorsque je lance mon programme en C++ (Qt,OpenGl).
J'arrive à lancer mon appli et elle marche plutôt bien mais lorsque je la referme, un message d'erreur apparait : Program: ....
Heap CORRUPTION DETECTED: after Normal block (#machin) at adressemachin CRT detected that the application wrote to memory after end of heap buffer.
Je précise que je travail sous visual 2005 et que le code que je compile est une base d'un tutoriel trolltech que je ne comprend pas en détail.
Bref j'ai quand même réussi à trouver l'erreur, elle vient d'une variable que je déclare dans un .h, un pov int de mer**...
Lorsque je le met en commentaire, ca tourne, si je le décommente ca ne marche plus.
Je n'utilise nul part cette variable et je ne comprend pas que ca puisse générer une erreur.
Voici le code :
Code :
- #ifndef GLWIDGET_H
- #define GLWIDGET_H
- #include <QGLWidget>
- class GLWidget : public QGLWidget
- {
- Q_OBJECT
- public:
- GLWidget(QWidget *parent = 0);
- ~GLWidget();
- QSize minimumSizeHint() const;
- QSize sizeHint() const;
- public slots:
- void setXRotation(double angle);
- void setYRotation(double angle);
- void setZRotation(double angle);
- signals:
- void xRotationChanged(double angle);
- void yRotationChanged(double angle);
- void zRotationChanged(double angle);
- protected:
- void initializeGL();
- void paintGL();
- void resizeGL(int width, int height);
- void mousePressEvent(QMouseEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
- private:
- GLuint makeObject();
- void quad(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2,
- GLdouble x3, GLdouble y3, GLdouble x4, GLdouble y4);
- void extrude(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
- GLuint object;
- int xRot;
- int yRot;
- int zRot;
- //int lavariablequifaitchier;
- QPoint lastPos;
- QColor trolltechGreen;
- QColor trolltechPurple;
- };
- #endif
|
Si quelqu'un a une idée je suis preneur.
Merci |