这可能只是一个简单的错误,我没有看到,但我认为我只是做错了什么。别担心,我没有在我的头函数中使用namespace std或任何似乎是这个人的问题[我读到的问题与我的类似][1][1]:为什么我会得到string不命名类型错误?
我现在有4个错误:
C:\documents and settings\me\my documents\c++projects\c++\random句子\nouns.h8错误:命名空间“std”中的“string”没有命名类型
C:\documents and settings\me\my documents\c++projects\c++\random句子\nouns.h12错误:命名空间“std”中的“string”没有命名类型
C:\documents and settings\me\my documents\c++projects\c++\random句子\nouns.h13错误:命名空间“std”中的“string”没有命名类型
C:\Documents and Settings\Me\My Documents\C++Projects\C++\RandomSenting\nouns.cpp9error:no'std::string nouns::noungenerator()'类'nouns'中声明的成员函数
===生成完成:4个错误,0个警告===
这是我的头文件:
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()
};
这是我的cpp文件:
#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;
}
你需要
#include <string>
声明COUT
、CIN
,而不是string
。
nouns.h
不包含
,但它需要包含。您需要添加
#include <string>
在该文件的顶部,否则编译器在第一次遇到std::string
时不知道它是什么。
您需要添加:
#include <string>
在你的头文件里。