Bonjour,
Je viens de migrer sous VisualStudio 2008 et j'ai quelques soucis de conversion avec les iterator des vector.
Voic un exemple de code que j'avais :
Ce code là compilait et fonctionnait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class ClassA { int i; }; class ClassB { vector < ClassA > vecClassA; void Traitement ( ) { ClassA * pClassA; vector < ClassA >::iterator it = vecClassA.begin ( ); pClassA = it; } }
Maintenant en compilant ce même code, j'obtiens l'erreur suivante :
Maintenant je ne sais plus comment faire. J'ai essayé différentes choses mais rien ne passe. Il faut que je trouve une autre solution. Mais je suis à bout d'idée.error C2440: '=' : cannot convert from 'std::_Vector_iterator<_Ty,_Alloc>' to 'ClassA *'
1> with
1> [
1> _Ty=ClassA,
1> _Alloc=std::allocator<ClassA>
1> ]
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Merci d'avance de votre aide
Partager