no matching function for call to... [c++][problème] - C++ - Programmation
Marsh Posté le 12-03-2010 à 06:57:18
EventHandler n'a pas de constructeur par défaut, or tu agrége un EventHabndler dans ta classe. Il faut que tu rajoute la construction de EH dans la liste d'initialsiation de COGLSpace
Marsh Posté le 12-03-2010 à 09:55:55
merci pour ta réponse!
je le fait un peu plus loin dans ma méthode initializeMembers()
Citation : |
PS: que veut tu dires pas "tu agrége un EventHabndler dans ta classe"????
Marsh Posté le 12-03-2010 à 01:03:33
bonjour tout le monde!
voici mon problème : le compilateur sort l'erreur suivante :
no matching function for call to 'EventHandler::EventHandler()' COGLSpace.cpp 76
COGLSpace.cpp
// Header files
#include "COGLSpace.h"
COGLSpace::COGLSpace(QWidget *parent) : QGLWidget(parent) // <-- line 76!!!
{
m_pParentWidget = parent;
initializeMembers();
}
EventHandler.h
#ifndef EVENTHANDLER_H
#define EVENTHANDLER_H
// Libraries
#include <QMouseEvent>
#include <QWheelEvent>
//Headers
//#include "COGLSpace.h"
class COGLSpace;
class EventHandler
{
private:
COGLSpace *m_oglSpace;
public:
EventHandler(COGLSpace* oglSpace);
void mousePressEvent( QMouseEvent *event );
void mouseMoveEvent( QMouseEvent *event );
void mouseReleaseEvent( QMouseEvent *event );
void wheelEvent( QWheelEvent *event );
};
#endif // EVENTHANDLER_H
EventHandler.cpp
#include "EventHandler.h"
EventHandler::EventHandler(COGLSpace* oglSpace)
{
m_oglSpace = oglSpace;
}
void mousePressEvent( QMouseEvent *event )
{
m_oglSpace->mouseButtonPressed(event->x(), event->y(), event->button());
}
void mouseMoveEvent( QMouseEvent *event )
{
m_oglSpace->mouseMoved(event->x(), event->y());
}
void mouseReleaseEvent( QMouseEvent *event )
{
m_oglSpace->mouseButtonReleased();
}
void wheelEvent( QWheelEvent *event )
{
m-oglSpace->wheelEvent(event->delta());
}
voilà.
je suis débutant en c++, je ne comprend pas bien pourquoi cette erreur arrive...
merci de m'aider!
Message édité par shadow_heart le 12-03-2010 à 01:04:44