[virtual] erreur de compilation
Bonjour à tous, une toute petite erreur que je comprend pas... :bug:
Voici la définition de ma classe mère:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| class CFP {
public:
CFP(Choc & c, std::string nom_cfp); //Constructeur avec nom du composant
CFP(Choc &c);
virtual ~CFP();
// Méthodes virtuelles : implémentées dans les classes filles
virtual void setImageReferenceIR();
virtual void setImageReferenceIR(int) = 0;
virtual void setImageReferenceIR(float) = 0;
virtual void setImageReferenceIR(cimg_library::CImg <unsigned short> );
}; |
Les fonctions membres virtuelles non pures sont évidemment implémentées:
Code:
1 2 3 4
| void CFP::setImageReferenceIR()
{
image_IR_ref = camera.importImageIR(static_cast<int> (floor(camera.getNombreImages()*0.5)) );
} |
Dans ma classe fille, j'ai:
Code:
1 2 3 4 5 6 7 8 9
| class HR : public CFP
{
public:
HR(Choc & c, std::string nom_cfp);
virtual ~HR();
virtual void setImageReferenceIR(int);
virtual void setImageReferenceIR(float);
}; |
et dans un bout de code de cfp.cpp, j'ai :
Code:
1 2 3 4
| if (image_IR_ref.is_empty() )
{
setImageReferenceIR();
} |
Le compilo bloque sur la ligne en gras :
Citation:
HR.cpp(54) : error C2661: 'HR::setImageReferenceIR' : aucune fonction surchargée ne nécessite 0 arguments
Pourtant, la fonction membre setImageReferenceIR() est définie dans la classe mère????8O
Merci de votre soutien !!