Cast et template - C++ - Programmation
Marsh Posté le 04-06-2011 à 07:49:40
template<unsigned S> void Fill( List<VALUES,S> * );
Ensuite :
- en C++, on utilise des reference et non des pointeurs
- std::list c'est pas fait pour les chameaux libiens
Marsh Posté le 04-06-2011 à 16:17:06
Ah oui sympa le prototype ! merci.
Ca ne m’intéresse pas la std::list
Marsh Posté le 04-06-2011 à 03:54:16
Salut, je bloque sur les template..
Mon template avec un paramètre par défaut :
template< typename T, unsigned int capacity = 16 > class List { /* ... */ };
le prototype de ma fonction :
void Fill( List< VALUES >* values );
//void Fill( List< VALUES, 32 >* values );
Mon code :
List< VALUES, 32 > values;
Fill( &values ); // error C2664: Fill: cannot convert parameter 1 from 'List<T,capacity> *' to 'List<T> *'
J'ai une erreur de casting avec la première fonction.. ça compile avec la seconde mais ça me parait étonnant de devoir indiquer une valeur pour le paramètre par défaut, surtout que la tableau est déjà alloué par l'appelant.
Est-ce la bonne façon de définir le paramètre de la fonction !?
merci ; )