J'ai un problème avec C ++. J'ai utilisé un pointeur de cordes et je voulais ajouter une autre chaîne de manière dynamique. Mais alors j'ai ce erroressage:
Pas de match pour 'Opérateur + =' (Types d'opérande sont 'std :: __ cxx11 :: string * {aka std :: __ cxx11 :: basic_string *}' et 'std :: __ cxx11 :: string {aka std :: __ cxx11 :: basique_string} ') p> blockQuote>
xxx pré> p>
3 Réponses :
si je comprends ce que vous essayez de faire ici, alors normalement en C ++, vous utiliseriez un Référence non un pointeur, vous n'auriez pas besoin de s code> est un pointeur de chaîne afin qu'il devrait s'agir de ce * code>. p> p>
La variable Vous devez dréerference le pointeur pour obtenir le une solution bien meilleure (IMO) est d'utiliser références em> au lieu des pointeurs. P> p> s code> est un pointeur em> à un std :: string code> objet, tenter d'ajouter à elle ajoutera au pointeur lui-même non L'objet qu'il pointe. std :: string code> objet: p>
Vous pouvez également utiliser Comme les autres suggérées, utilisez référence au lieu de pointeurs p> p> std :: string code> Fonction membre Ajoutez code>, appendez la chaîne à la fin;