mon problème est très simple et se résout certainement en 20 touches sur le clavier, alors voilà, j'ai une classe "AnimationColor" qui est héritée de "Animation" voici donc les classes :
Les .h
#ifndef ANIMATION_H_INCLUDED
#define ANIMATION_H_INCLUDED
#include <SFML/System.hpp>
class Animation
{
protected:
sf::Time m_time;
const sf::Time m_duration;
const int m_steps;
int m_actualStep;
public:
Animation(sf::Time m_duration,int steps);
void refresh(sf::Time dt);
int getSteps();
int getActualStep();
int getDuration();
};
#endif // ANIMATION_H_INCLUDED
L'erreur donnée par mon compilateur est la suivante : D:\_PROGRAMMATION\C++\AnimationColor.cpp|6|error: no matching function for call to 'Animation::Animation()'|
Mais je n'ai aucune idée du problème...Merci de votre aide d'avance ^^'
EDIT : Erreur trouvé, il manquais le constructeur "Animation()" je ne pensais pas qu'il était obligatoire :/
EDIT : Erreur trouvé, il manquais le constructeur "Animation()" je ne pensais pas qu'il était obligatoire :/
- Edité par DeveCout il y a 11 minutes
En regle general ( corrigez moi si je me trompe ) mais le compilateur te defini certains constructeur si tu n'en defini aucun. Si tu redefini un des constructeur , tu dois implicitement declarer et definir les autre. Comme tu as un constructeur prenant des parametre , ce qui peut impliquer que ton objet n'est instantiable qu'avec des parametre, le compilateur ne t'as psa generer le code pour le constructeur par defaut.
Dans le constructeur de la class AnimationColor, tu n'indique pas comment initialiser la class mère. Le compilateur tente avec le constructeur par defaut qui forcément, n'existe pas.
Problème de classe...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.