Как использовать C ++ 20 в vscode? - PullRequest
1 голос
/ 30 мая 2020

Я хочу использовать C ++ 20 в vscode, так как я хотел бы использовать .contains в unordered_set, но когда я пробую его, я получаю error C2039: 'contains': is not a member of 'std::unordered_set, и я не понимаю, почему, поскольку я уже пошел в c_cpp_properties. json и указал использование c ++ 20, но, похоже, он все еще не работает, и я нигде не могу найти ничего об изменении версии C ++ на vscode.

Версия компилятора: 19.25.28614 for x86

Ответы [ 2 ]

1 голос
/ 30 мая 2020

Вы должны добавить параметр компилятора msv c /std:c++latest, чтобы иметь возможность использовать функцию-член unordered_map::contains().

0 голосов
/ 30 мая 2020

Насколько мне известно, настройки версии c ++ в c_cpp_properties. json используются только для служб, которые помогают вам писать код (intellisense, просмотр кода и т. Д. c.). Vscode не имеет собственного компилятора C ++. Он использует любой компилятор, для которого вы его сконфигурировали.

Возможно, вы захотите проверить последний стандарт, поддерживаемый вашим компилятором. Я нашел этот пост очень полезным. Как определить версию стандарта C ++, используемую компилятором?

Обязательно оценивайте константу с помощью компилятора (во время компиляции или во время выполнения). Вы можете увидеть другое значение при наведении на него курсора.

...