Visual StudioコードをセットアップしてC++でプログラムしようとしています。拡張機能C/C++およびC/C++ Intellisenseを既にインストールしています
以下は私のコードです:
#include<iostream>
using namespace std;
int main()
{
cout<< "hello" ;
}
私が得ているエラーはidentifier cout is undefined
そして私がそれをstd::cout
私が得るエラーはnamespace std has no member cout
。以下は私のtask.json
ファイル:
{
"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
}
}
}
]
}
どうすれば修正できますか?
そのバグ !!!!.
このバグには回避策があります。VSコードでファイル->設定->設定に移動して変更します"C_Cpp.intelliSenseEngine": "Default"
to "C_Cpp.intelliSenseEngine": "Tag Parser"
同じ問題があり、vscodeのバグであることがわかりました。以下のリンクを参照してください。
私はVSCodeバージョン1.22.2をMinGWコンパイラで使用していますが、以下の設定が私のために機能します:
{
"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
}
これらのリンクも参照してください: https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/MinGW.md