Bonjour,
Un bout de code qui se compilait sans probl�me dans VC2003 pose probl�me dans VC2005...
C'est une histoire de constructeur implicite...mais sur un typedef...
Dans mon .h ..D�but de d�claration de ma classe
D�finition du constructeur dans mon .cpp
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 class CProcessList { protected: typedef std::list<CProcess *> process_list; typedef process_list::iterator process_iterator; process_list m_listProcesses; process_iterator m_listIterator; CProcessList(); public : .....
Le compilateur me dit (et c'est assez compr�hensible) qu'il n'a pas de construcuteur de process_iterator prenant un entier en argument.. Sauf que process_iterator �tant un typedef, je ne sais pas trop ou g�rer tout ca...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 CProcessList::CProcessList() : m_listIterator(0) { }
L'erreur :
Une id�e ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 1>.\Processes.cpp(186) : error C2664: 'std::list<_Ty>::_Iterator<_Secure_validation>::_Iterator(const std::list<_Ty>::_Iterator<_Secure_validation> &)' : impossible de convertir le paramètre 1 de 'int' en 'const std::list<_Ty>::_Iterator<_Secure_validation> &' 1> with 1> [ 1> _Ty=CProcess *, 1> _Secure_validation=true 1> ] 1> Raison : impossible de convertir de 'int' en 'const std::list<_Ty>::_Iterator<_Secure_validation>' 1> with 1> [ 1> _Ty=CProcess *, 1> _Secure_validation=true 1> ] 1> Aucun constructeur n'a pu prendre le type de source, ou la résolution de la surcharge du constructeur était ambiguë
Partager