VS Code编译C++程序提示cout、cin、endl未在作用域声明,修改配置仍未解决求助
问题原因
你的本地test.cpp源文件第3行using namespace std;前多写了一个#号,编译器将其识别为非法预处理指令导致该行失效,std命名空间未引入,因此出现后续cin、cout、endl未声明的报错。你之前修改的C_Cpp.intelliSenseEngine是VS Code的智能提示配置,和当前编译阶段的报错无关,自然无法解决问题。
解决方案
方案1:删除多余#号
直接删掉第3行开头的#,确保该行内容为using namespace std;即可,修改后完整代码如下:
#include <iostream> using namespace std; int main() { int age; cin >> age; cout << "Age is " << age << endl; return 0; }
方案2:使用std::前缀(更规范,避免命名空间污染)
不使用全局命名空间引入,直接在标准库相关方法前加std::前缀,代码如下:
#include <iostream> int main() { int age; std::cin >> age; std::cout << "Age is " << age << std::endl; return 0; }
修改后重新编译运行即可解决报错。
内容的提问来源于stack exchange,提问作者Uviation
相关产品推荐
相关产品推荐

