J'ai un pb avec une liste chainée géré par des templates.
Tant que l'information à stocker dans la liste est de type classique (int, float etc....)
ça va. Par contre si le type est une structure il y a quelque pb.
par ex avec la fonction qui retourne la valeur de l'information.
template <typename T>
T CList<T>::returnData()
{
if(sizeList == 0) return 0; //si la liste est vide
return list->data;
}
Lorsque T est une structure, le compilo me dit qu'il ne peut pas renvoyer un int,
qu'il lui faut retourner un argument de type structure.
Est ce qu'il y a un moyen de résoudre ce pb ?
Un cast avec les templates ?
Il faudrais pour que ca compile que l'on puisse construire une instance
de ta structure a partir d'un int ou que la conversion a partir d'un
entier soit definie. C'est une mauvaise idée de retourner et zero car
ca limite ton template aux types scalaires de base et surtout il y a un
probleme de conception car si la liste est vide on ne devrait pas
pouvoir "deferencer" la tete et appeler la methode returnData. Regarde
comment est foutu le modele std::list de la bibliotheque standard au
niveau de l'interface.