Как настроить VS Code для C ++ 14 / C ++ 17 - PullRequest
0 голосов
/ 12 марта 2019

Я пытался запустить файл .cpp из рабочей области, но выдает мне эту ошибку, не добавляя флаги c ++ 11 / выше, но я добавил их в task.json

Error

[Running] cd "c:\Users\Nuhash\Desktop\test\" && g++ main.cpp -o main && "c:\Users\Nuhash\Desktop\test\"main
main.cpp:8:1: error: expected unqualified-id before 'using'
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
^
main.cpp:10:1: error: expected unqualified-id before 'using'
using ordered_set_rev = tree<T, null_type, greater<T>, rb_tree_tag, tree_order_statistics_node_update>;
^
main.cpp:12:1: error: expected unqualified-id before 'using'
using dijkstra = priority_queue<T, vector<T>, greater<T>>;
^
main.cpp:62:31: warning: variadic templates only available with -std=c++11 or -std=gnu++11
template <typename T, typename... Args>
                               ^
main.cpp:63:52: warning: variadic templates only available with -std=c++11 or -std=gnu++11
void err(istream_iterator<string> it, T a, Args... args) {


Task.Json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build hello world",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "-o",
                "test",
                "-std=c++14",
                "main.cpp"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": [
                "$gcc"
            ]
        }
    ]
}

Сообщение об ошибке:

[Running] cd "c:\Users\Nuhash\Desktop\test\" && g++ main.cpp -o main && "c:\Users\Nuhash\Desktop\test\"main
main.cpp:8:1: error: expected unqualified-id before 'using'
 using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
 ^
main.cpp:10:1: error: expected unqualified-id before 'using'
 using ordered_set_rev = tree<T, null_type, greater<T>, rb_tree_tag, tree_order_statistics_node_update>;
 ^
main.cpp:12:1: error: expected unqualified-id before 'using'
 using dijkstra = priority_queue<T, vector<T>, greater<T>>;
 ^
main.cpp:62:31: warning: variadic templates only available with -std=c++11 or -std=gnu++11
 template <typename T, typename... Args>
                               ^
main.cpp:63:52: warning: variadic templates only available with -std=c++11 or -std=gnu++11
 void err(istream_iterator<string> it, T a, Args... args) {

c_cpp_properties:

    {

        "name": "Win32",
        "includePath": [
            "${workspaceFolder}"
        ],
        "defines": [
            "_DEBUG",
            "UNICODE",
            "_UNICODE"
        ],
        "intelliSenseMode": "clang-x64",
        "browse": {
            "path": [
                "${workspaceFolder}"
            ],
            "limitSymbolsToIncludedHeaders": true,
            "databaseFilename": ""
        },
        "compilerPath": "F:\\Program Files (x86)\\CodeBlocks\\MinGW\\bin\\gcc.exe",
        "cStandard": "c11",
        "cppStandard": "c++17"
    }

Ответы [ 2 ]

2 голосов
/ 13 марта 2019

Я добавил код бегуна и добавил это в settings.json Кажется, у меня работает: D

"code-runner.runInTerminal": true,
"code-runner.executorMap": {
    "cpp": "cd $dir && g++ -std=c++14 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
},
0 голосов
/ 12 марта 2019

Установите cppStandard на c++17 или c++14 соответственно.

Для этого вам нужно расширение C ++ https://github.com/Microsoft/vscode-cpptools

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...