C++"std :: string尚未声明"错误

wan*_*mer 12 c++ string

我一直在寻找网站上的答案,但找不到任何帮助我的答案.

我有一个代码,当我尝试(如建议)添加这些行时使用字符串:

using namespace std;
using std::string;
#include <string>
Run Code Online (Sandbox Code Playgroud)

我试图单独使用它们,我一起尝试了所有这些.最好的情况是当所有的字符串错误消失但我在"使用std :: string"这行时有另一个奇怪的错误,错误是:std :: string尚未声明.有任何想法吗?多谢你们.

Bat*_*eba 12

#include <string>先放.

避免using在标题中使用语句,因为您可能会将各种内容引入许多编译单元.using std::string在标题中可能是可以接受的,但using namespace std 肯定不是因为它会在所有编译单元中造成如此多的命名空间污染.std命名空间不断扩展(查看C++中的所有新内容),因此您不希望在升级编译器时修复大量错误.