ERROR C2296: concatenation de chaines [Solved] - C++ - Programmation
Marsh Posté le 21-03-2006 à 11:40:00
Bon j'ai a moitie resolu mon pb.Deja j'ai appris que je ne pouvais pas utiliser des << pour remplir une string. Soit!
J'ai donc mis directement la concatenation dans les arguments de mes fonctions, sans passer par une string internediaire.
En effet dans mon catch, je dois appeler une fonction de trace et une fonction qui throw une exception:
Code :
|
Bon comme vous le voyez ma 1ere fonction prend un entier(int) et une string et la 2e prend une string et un entier. Pour la premiere la concatenation passe tres bien.
Le pb vient de la seconde ou je me prends encore cette erreur de compil:
error C2296: '<<' : illegal, left operand has type 'const char [42]'
Je crois que ca vient du fait que je passe un argument apres un argument qui contient une suite de << mais je ne vois pas comment resoudre ce pb...
Une solution?
Merci beaucoup d'avance!
Marsh Posté le 21-03-2006 à 11:53:09
Oui je sous Windows et j'utilise la STL. Je code sous Visual Studio.
Tu me parles de +=, mais justement est-ce la seule solution?
J'ai effectivement teste comme ca:
string errorMsg("SQL Error during RFD access - Origin:" );
errorMsg += e.GetOrigin();
errorMsg += " Code:";
errorMsg += e.GetCode();
errorMsg += " SubCode:";
errorMsg += e.GetSubCode();
errorMsg += " Specific Code:";
errorMsg += e.GetSpecificCode();
Et en placant errorMsg en arguments de mes 2 fontions ca marche parfaitement. Mais je trouve ca super lourd...
Il n'y aucun moyen de faire ca avec "<<"?
Marsh Posté le 21-03-2006 à 11:54:49
euh non
agyspace > et juste avec "+" dans ton appel de méthode ? note pour plus tard: "<<" et ">>" sont des opérateurs de streams il me semble. et string n'a pas de rapport avec stream.
Marsh Posté le 21-03-2006 à 13:29:25
ReplyMarsh Posté le 21-03-2006 à 14:32:25
Joel F a écrit : ostringstream |
Oui c'est exactement ca merci beaucoup
Code :
|
Et errorMsg.str() en argument dans mes fonctions.
Merci encore!
Marsh Posté le 21-03-2006 à 11:11:40
Salut,
J'ai un petit pb de compil que je n'arrive pas a resoudre....
Voici le code:
les getters renvoient tous des int.
Et voici l'erreur:
error C2296: '<<' : illegal, left operand has type 'const char [42]'
Merci pour votre aide
Message édité par agyspace le 21-03-2006 à 14:32:50