[Error]'cout'was not declared in this scope

编译环境:Dev-C++ 5.11

操作系统:Windows 10 专业版

#include <iostream>
#include <string>

int main(){
    cout << "Please input your first name: ";
    string user_name;
    cin >> user_name;
    cout << '\n'
         << "hello,"
         << user_name
         << "... and goodbye!\n";
    return 0;
}

这是《Essential C++》中写的代码,在我编写过程中出错,提示错误

[Error]'cout'was not declared in this scope

[Error] 'string' was not declared in this scope

原因:
C++ 1998 要求cout and endl被调用使用'std::cout'和'std::endl'格式,或using namespace std;

修改后代码

#include <iostream>
#include <string>
using namespace std;
int main(){
    cout << "Please input your first name: ";
    string user_name;
    cin >> user_name;
    cout << '\n'
         << "hello,"
         << user_name
         << "... and goodbye!\n";
    return 0;
}

修改后编译通过。 

PS:因为我是边看边敲的代码,所以才会出现这个错误,书中给的完整代码是加了std的。


版权声明:本文为kent_xyli原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。