问题
I am trying to setup visual studio code to program in c++. I have already installed the extensions C/C++ and C/C++ Intellisense
Following is my code:
#include<iostream>
using namespace std;
int main()
{
cout<< "hello" ;
}
The error I'm getting is identifier cout is undefined
and when I write it as std::cout
the error I get then is namespace std has no member cout
.
Following is my task.json
file:
{
"version": "0.1.0",
"command": "make",
"isShellCommand": true,
"tasks": [
{
"taskName": "Makefile",
// Make this the default build command.
"isBuildCommand": true,
// Show the output window only if unrecognized errors occur.
"showOutput": "always",
// No args
"args": ["all"],
// Use the standard less compilation problem matcher.
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
]
}
How do i fix this?
回答1:
Its a bug !!!!.
There is a workaround for this bug, go to File -> Preferences -> Settings in VS Code and change "C_Cpp.intelliSenseEngine": "Default"
to "C_Cpp.intelliSenseEngine": "Tag Parser"
回答2:
I am using VSCode version 1.22.2 with MinGW compiler and below config works for me:
{
"configurations": [
{
"name": "MinGW",
"intelliSenseMode": "clang-x64",
"compilerPath": "C:/MinGW/bin/g++.exe",
"includePath": [
"${workspaceRoot}",
],
"defines": [
"_DEBUG"
],
"browse": {
"path": [
"C:/MinGW/lib/gcc/mingw32/6.3.0/include",
"C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed",
"C:/MinGW/include/*"
"${workspaceRoot}",
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 3
}
Refer these link too: https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/MinGW.md
https://code.visualstudio.com/docs/languages/cpp
回答3:
I have a same problem and found that it is a vscode bug. Please refer to the link below.
https://github.com/Microsoft/vscode-cpptools/issues/743
回答4:
I had a problem with vscode to not detect #define constants from other files. Solved this for me by going to: file > preferences > Settings > Extentions > C/C++
Scroll down to C_Cpp › Default: Intelli Sense Mode and change the value from default to your compiler (gcc-x64 in my case).
来源:https://stackoverflow.com/questions/44094817/why-is-visual-studio-code-telling-me-that-cout-is-not-a-member-of-std-namespace