Fonction dont il n'est pas possible de connaitre le type de retour
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:
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 :
Citation:
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!