Cast et template

Cast et template - C++ - Programmation

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 ; )

Reply

Marsh Posté le 04-06-2011 à 03:54:16   

Reply

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

Reply

Marsh Posté le 04-06-2011 à 16:17:06    

Ah oui sympa le prototype ! merci.
 
Ca ne m’intéresse pas la std::list  :na:


Message édité par Mx75 le 04-06-2011 à 16:17:44
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed