Clercq
Messages postés19Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention14 juin 2006
-
4 mai 2006 à 18:19
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
5 mai 2006 à 17:51
Re bonjour,
Dans ma mission de conversion de MFC en STL je me suis confronter un un petit probleme
typedef list array_member_list;
[...]
class Type_Array : public Type_Class
{
[...]
public:
[...]
Type_Array([...],array_member_list amt)
{
if(amt != NULL)
nb_member = distance(amt.begin(), amt.end());
}
[...]
mais du coup
1: if(amt != NULL) me produit une erreur : error C2676 : binary '!=' : class std::list<struct array_member_type *, class std::allocator<struct array_member_type *> > ' does not define this operator or a conversion to a type acceptable to the predefined operator
2: amt n'est plus un pointeur sur ma list. Je sais pas si c'est un difference entre CList de la MFC et list de STL, ou bien que je m'y prends comme un pied :(.
Clercq
Messages postés19Date d'inscriptionsamedi 18 décembre 2004StatutMembreDernière intervention14 juin 2006 5 mai 2006 à 10:09
Bonjour,
En effet, je devrais a la place de amt != NULL mettre amt != 0 pour voir s'il y a bien quelquechose dans la list, enfin je pense ... . Mais le probleme est sur l'operateur. Dans la MSDN il dise de creer une class pour les declarer, je vais faire ça deja.