VS- -> VS2005 ou 2008 - C++ - Programmation
Marsh Posté le 15-10-2008 à 12:10:40
il a raison, la fonction attend un itérateur, pas un pointeur vers un élément
Edit : sur un vecteur, tu peux faire :
Code :
|
Edit2 : Vu que tu n'as pas l'air entièrement à l'aise avec la STL, j'en profite pour rappeler que, si tu fais souvent des suppressions d'éléments en milieu de conteneur, le vecteur n'est pas nécessairement un bon choix. Enfin, à toi de voir en fonction de ton contexte
Marsh Posté le 15-10-2008 à 12:17:27
Hello,
On ne peut pas faire un erase sur un element, il faut le faire sur un iterator. Exemple :
Code :
|
Marsh Posté le 15-10-2008 à 11:59:08
J'ai une erreur a la compilation sous 2005 et 2008 avec :
m_XAxis.erase (&m_XAxis[nAxis]);
ou
std::vector <CXGraphAxis> m_XAxis;
l'erreur est :
error C2664: 'std::_Vector_iterator<_Ty,_Alloc> std::vector<_Ty>::erase(std::_Vector_iterator<_Ty,_Alloc> )' : impossible de convertir le paramètre 1 de 'CXGraphAxis *' en 'std::_Vector_iterator<_Ty,_Alloc>'
1> with
1> [
1> _Ty=CXGraphAxis,
1> _Alloc=std::allocator<CXGraphAxis>
1> ]
1> Aucun constructeur n'a pu prendre le type de source, ou la résolution de la surcharge du constructeur était ambiguë
Quelqu'un peut m'aider merci d'avance