Why is visual studio code telling me that cout is not a member of std namespace?

|▌冷眼眸甩不掉的悲伤 提交于 2021-01-20 16:26:42

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!