la chaîne de caractères dans namespace std ne nomme pas un type
c'est peut-être une simple erreur que je ne vois pas, mais Je pense que je fais juste quelque chose de mal. Ne vous inquiétez pas je n'utilise pas namespace std dans mon en-tête fonctions ou tout ce qui semblait être le problème de cette personne [Question j'ai lu similaire à à moi][1] [1]: Pourquoi est-ce que string ne nomme pas une erreur de type?
j'obtiens 4 erreurs en ce moment:
C:Documents et paramètresMe My DocumentsProjets C++C++RandomSentenceNoms.h|8|erreur: 'string' en espace de noms 'std' n'est pas le nom d'un type ou d'
C:Documents et paramètresMe My DocumentsProjets C++C++RandomSentenceNoms.h|12|erreur: 'string' en espace de noms 'std' n'est pas le nom d'un type ou d'
C:Documents et paramètresMe My DocumentsProjets C++C++RandomSentenceNoms.h|13|erreur: 'string' en espace de noms 'std' n'est pas le nom d'un type ou d'
C:Documents et paramètresMe My DocumentsProjets C++C++RandomSentenceNoms.rpc|9|erreur: pas de 'std::string Nouns::nounGenerator ()' fonction membre déclarée dans la classe 'Nouns' /
| | = = = construction terminée: 4 Erreurs, 0 Avertissements = = = /
Voici mon fichier d'en-tête:
class Nouns
{
public:
Nouns();
std::string noun;
protected:
private:
int rnp; // random noun picker
std::string dog, cat, rat, coat, toilet, lizard, mime, clown, barbie, pig, lamp, chair, hanger, pancake, biscut, ferret, blanket, tree, door, radio;
std::string nounGenerator()
};
Et voici mon fichier RPC:
#include "Nouns.h"
#include <iostream>
Nouns::Nouns()
{
}
std::string Nouns::nounGenerator(){
RollRandom rollRandObj;
rnp = rollRandObj.randNum;
switch(rnp){
case 1:
noun = "dog";
break;
case 2:
noun = "cat";
break;
case 3:
noun = "rat";
break;
case 4:
noun = "coat";
break;
case 5:
noun = "toilet";
break;
case 6:
noun = "lizard";
break;
case 7:
noun = "mime";
break;
case 8:
noun = "clown";
break;
case 9:
noun = "barbie";
break;
case 10:
noun = "pig";
break;
case 11:
noun = "lamp";
break;
case 12:
noun = "chair";
break;
case 13:
noun = "hanger";
break;
case 14:
noun = "pancake";
break;
case 15:
noun = "biscut";
break;
case 16:
noun = "ferret";
break;
case 17:
noun = "blanket";
break;
case 18:
noun = "tree";
break;
case 19:
noun = "door";
break;
case 20:
noun = "radio";
break;
}
return noun;
}
3 réponses
Vous devez
#include <string>
<iostream>
déclare cout
, cin
, pas string
.
Nouns.h
n'inclut pas <string>
, mais il le faut. Vous devez ajouter
#include <string>
en haut de ce fichier, sinon le compilateur ne sait pas ce qu'est std::string
quand il est rencontré pour la première fois.
vous devez ajouter:
#include <string>
Dans votre fichier d'en-tête.