Bonjour à tous et merci d'avance pour votre aide,

Voila, j'ai un soucis subtil avec NULL dans un template.
Ce template est une collection qui contient des structures de type <T>

Dans ce template on peut se deplacer en avant, en arrière, etc..
Il contient une structure qui correspond au déplacement courant (mCurrent).

Quand c'est necessaire, l'utilisateur peut acceder aux données stockées via GetData() et recupérer les données, comme ci dessous.

Toutefois, dans le cas ou l'index n'est pas valide, je ne sais pas quoi retourner. cas ou mCurrent = 0.

Si je renvois zero, le compilateur n'est pas content et va me dire un message du genre lol

"error C2440: cannot convert from 'void *' to 'char *&'"

Si à la place de renvoyer zéro, je renvoie (void *)0, c'est le même problème. et je ne me vois pas renvoyer une instance de T quand même.

Est-ce que ça pourrait être un problème de désign du code?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
T &Current()
{
     if(mCurrent != 0)
	return mCurrent->GetData();
    return (void *)0; // meme pbm avec return 0;
}
}