这可能只是一个简单的错误,我没有看到,但我认为我只是做错了什么。别担心,我没有在我的头函数中使用命名空间std或任何似乎是这个人的问题[问题我读到类似于我的][1] [1]:Why am I getting string does not name a type Error?
我现在有四个错误:
C:\Documents and Settings\Me\My Documents\C ++ Projects\C ++\RandomSentence\Nouns.h| 8|错误:命名空间“std”中的“string”未命名类型|
C:\Documents and Settings\Me\My Documents\C ++ Projects\C ++\RandomSentence\Nouns.h| 12|错误:命名空间“std”中的“string”未命名类型|
C:\Documents and Settings\Me\My Documents\C ++ Projects\C ++\RandomSentence\Nouns.h| 13|错误:命名空间“std”中的“string”未命名类型|
C:\Documents and Settings\Me\My Documents\C ++ Projects\C ++\RandomSentence\Nouns.cpp| 9|错误: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;
}
5条答案
按热度按时间aiqt4smr1#
你需要
<iostream>
声明cout
、cin
,而不是string
。e0bqpujr2#
Nouns.h
不包含<string>
,但它需要包含。你需要加上否则编译器在第一次遇到
std::string
时不知道它是什么。nnvyjq4y3#
您需要添加:
在你的头文件中。
eit6fx6z4#
新闻资讯
不是
8ljdwjyq5#
你需要加上
这里您尝试访问
string noun::
,但没有创建名为string noun
的命名空间。您正在尝试访问一个私人文件。