(Re) bonjour,
Étant en période de découverte des vectors jai encore quelques problèmes :
Une de mes fonction retourne un iterator :
Code :
- vector<_Key>::iterator _Sprite_Data::OnKey(float time)
- {
- vector<_Key>::iterator it = this->KeyUnder(time);
- if(it->Time==time)
- return it;
- else
- return NULL;
- }
|
Mais voila le problème que je ne sais pas résoudre :
Je voudrais quen cas derreur la fonction me retourne un NULL que je pourrais ensuite comparer comme un pointeur.
Du type :
Code :
- vector<_Key>::iterator itKey = Sprite_Data.OnKey(time);
- if(itKey ==NULL)
- {
-
- }
|
Mais VS8 me retourne une erreur (alors que VS6 ne posais pas de problème) :
Code :
- sprite.cpp(144) : error C2664: 'std::_Vector_iterator<_Ty,_Alloc>::_Vector_iterator(const std::_Vector_iterator<_Ty,_Alloc> & )' : cannot convert parameter 1 from 'int' to 'const std::_Vector_iterator<_Ty,_Alloc> &'
- with
- [
- _Ty=_Key,
- _Alloc=std::allocator<_Key>
- ]
- Reason: cannot convert from 'int' to 'const std::_Vector_iterator<_Ty,_Alloc>'
- with
- [
- _Ty=_Key,
- _Alloc=std::allocator<_Key>
- ]
- No constructor could take the source type, or constructor overload resolution was ambiguous
|
Je ne sais vraiment pas comment faire donc si quelquun sy connais un peu en vectors , j apprecierais beaucoup son aide.
Merci davance.