Erreur std::operator

Résolu/Fermé
chalmia2s Messages postés 31 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 15 octobre 2009 - 24 févr. 2009 à 15:34
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 25 févr. 2009 à 08:57
Bonjour,
je fais un code sur visual c++ et j'obient 180 erreur!!!!!!!!!!!!!!! du genre:
pour le code:

std::string str;
std::string nom="";
std::string msg = nom + std::string(" message d'erreurX ") + str;

que pour cette ligne j'ai plus que 20 message d'erreur du genre:
1>z:\....................\abc.h(670) : error C2784: 'std::_Vb_iterator<_Sizet,_Difft,_MycontTy> std::operator +(_Difft,std::_Vb_iterator<_Sizet,_Difft,_MycontTy>)' : impossible de déduire l'argument modèle pour 'std::_Vb_iterator<_Sizet,_Difft,_MycontTy>' à partir de 'std::basic_string<_Elem,_Traits,_Ax>'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\vector(1854) : voir la déclaration de 'std::operator +'
1>z:\........................\abc.h(670) : error C2784: 'std::_String_const_iterator<_Elem,_Traits,_Alloc> std::operator +(_String_const_iterator<_Elem,_Traits,_Alloc>::difference_type,std::_String_const_iterator<_Elem,_Traits,_Alloc>)' : impossible de déduire l'argument modèle pour 'std::_String_const_iterator<_Elem,_Traits,_Alloc>' à partir de 'std::basic_string<_Elem,_Traits,_Ax>'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\xstring(300) : voir la déclaration de 'std::operator +'




j'espere que quelqu'un a une idée de comment corriger cette erreur

5 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
25 févr. 2009 à 08:57
Tout de même, j'ai été très étonner de ce que tu as.
J'ai donc copier coller ce que tu as écris, en incluant l'en tête <string>.
Et ça compile parfaitement. Donc soit le problème viens de plus haut, soit il faut changer de compilateur ou d'en tête.
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
24 févr. 2009 à 15:48
Ce qui est important, ce n'est pas l'erreur à ce niveau là, mais la première erreur retournée par le compilateur.
Car la première erreur peut causer des mauvaises interprétation des lignes suivantes.
0
chalmia2s Messages postés 31 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 15 octobre 2009
24 févr. 2009 à 16:01
en faite c'est la première erreur dans mon code, ce qui suit c'est du genre pareil
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
24 févr. 2009 à 16:57
Ha merde...
Parceque je ne voi pas ce qu'il y a de faux...
essai :
std::string msg ( nom + std::string(" message d'erreurX ") + str);// sans egal, ce n'est pas une erreur
std::string msg = nom + str;
std::string msg = std::string(" message d'erreurX ");
std::string msg = nom+std::string(" message d'erreurX ");
Ainsi, on verra ce qui ne lui plait vraiment pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chalmia2s Messages postés 31 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 15 octobre 2009
24 févr. 2009 à 18:16
malheureusement ça ne marche pas, mais c pas grave, j'aurais besoin de presque tout changer dans le programme.
0