Bonjour à tous, une toute petite erreur que je comprend pas...

Voici la définition de ma classe mère:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
if (image_IR_ref.is_empty() )
	{
        setImageReferenceIR();
	}

Le compilo bloque sur la ligne en gras :
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????

Merci de votre soutien !!