Bonsoir a tous,

Voila il se trouve que j'ai une fonction dont on ne connetra le type de retour seulement durant sont exécution. J'ai donc après des recherche pensé a fair une fonction template.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
template<typename T> 
T operator() (int i, int j){
 
	if(m_couleur)
		T temp = m_imagesCouleur->operator()(i,j);
	else
		T temp = m_imagesGris->operator()(i,j);
 
	return temp;
 
}
m_imagesCouleur->operator()(i,j); renvoi un unsigned char* et m_imagesGris->operator()(i,j); renvoi un unsigned char.

Donc ce code ne fonctionne pas l'erreur est :

error C2783: 'T images::operator ()(int,int)'*: impossible de déduire l'argument modèle pour 'T'
je pense que malgré le template, il ne parvient pas à définir le type de retour. Exitste-t-il d'autre possibilité? Y a t'il une incompréhenssion de ma part?

Merci pour vos éclairssissement!