151 votes

pourquoi je ne peux pas couter une corde?

pourquoi je ne peux pas compter la chaîne comme ici:

   string text ;
  text = WordList[i].substr(0,20) ;
  cout << "String is  : " << text << endl ;
 

quand je fais cela, je reçois une erreur dans le cout.

Erreur 2 erreur C2679: binaire '<<': aucun opérateur trouvé ne prend un opérande de droite 'de type' std :: string '(ou aucune conversion acceptable) c: \ users \ mollasadra \ documents \ visual studio 2008 \ projets \ barnamec \ barnamec \ barnamec.cpp 67 barnamec

c'est incroyable, même en utilisant

   string text ;
  text = "hello"  ;
  cout << "String is  : " << text << endl ;
 

ne fonctionne pas

256voto

Kiril Kirov Points 19081

Vous devez inclure

 #include <string>
#include <iostream>
 

11voto

progo Points 6247

Vous devez référencer l'espace de noms du cout std manière ou d'une autre. Par exemple, insérer

 using std::cout;
using std::endl;
 

au-dessus de votre définition de fonction ou du fichier.

7voto

sepp2k Points 157757

Il y a plusieurs problèmes avec votre code:

  1. WordList n'est pas définie n'importe où. Vous devez la définir avant de l'utiliser.
  2. Vous ne pouvez pas simplement écrire du code en dehors d'une fonction comme celle-ci. Vous avez besoin de le mettre dans une fonction.
  3. Vous avez besoin d' #include <string> avant de pouvoir utiliser la classe string et iostream avant d'utiliser cout ou endl.
  4. string, cout et endl vivent dans l' std d'espace de noms, de sorte que vous ne pouvez pas y accéder sans les préfixant avec std:: sauf si vous utilisez l' using directive pour les amener dans le champ d'application de la première.

0voto

Ash Ghal Points 1

Vous n'avez pas à référencer explicitement std :: cout ou std :: endl. Ils sont tous deux inclus dans l'espace de noms std. Utiliser namespace std au lieu d'utiliser l'opérateur de résolution de portée (: :) chaque fois est plus facile et plus propre.

#include<iostream> #include<string> utilisant namespace std;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X