Salut,
J'essaye de convertir mes projets visual studio 6.0 vers visual studio .Net. Le probleme c'est que ce dernier me sort des erreurs de compilation que je ne comprends pas (ça compile trés bien sous VS 6). Ces erreurs ont lieu sur des definitions de fonctions ou classes template, c'est pour quoi je poste ici. Si les moderateurs estiment que ce sujet est plus directement lié à VS6 merci de le déplacer .
Bref voilà par exemple une fonction sur laquelle il plante :
C'est une fonction tte simple qui se contente d'itérer dans une std::list<T> jusqu'a trouver le bon élément, et j'ai droit à des erreurs du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 template<typename T> std::list<T>::iterator FindInList(std::list<T> &List, const T &ToFind) { for(std::list<T>::iterator it = List.begin() ; it != List.end() ; ++it) { if((*it) == ToFind) { return it; } } return List.end(); }
error C2146: syntax error : missing ';' before identifier 'FindInList'
error C2501: 'std::list<_Ty>::iterator' : missing storage-class or type specifiers
error C2065: 'T' : undeclared identifier
error C2955: 'std::list' : use of class template requires template argument list
Est-ce que qqun a une idée ? La gestion des templates sous VS .Net a t'elle changé ?
[Sujet déplacé par Farscape]
Partager