【发布时间】:2021-11-05 07:38:34
【问题描述】:
我在我的 Windows 10 机器上安装了 GCC 11.2.0(来自这里:https://winlibs.com/)。我已将环境变量 Path 更新为 C:\MinGW\bin
gcc version 11.2.0 (MinGW-W64 x86_64-posix-seh, built by Brecht Sanders)
我正在使用带有 C/C++ 扩展的 VSCode,该扩展配置为使用正确的编译器路径。
我想使用一个 C++20 特性,它是
std::numbers::sqrt2
我仍然收到一个错误,告诉我它不知道 std::numbers
[Running] cd "c:\Users\XX\XX\" && g++
main.cpp -o main && "c:\Users\XX\XX\"main
main.cpp: In function 'double sin_x_plus_cos_sqrt2_times_x(double)':
main.cpp:15:41: error: 'std::numbers' has not been declared
15 | return std::sin(x) + std::cos( std::numbers::sqrt2 * x );
|
我已经添加了标题#include <numbers>
我错过了什么?
【问题讨论】:
-
此版本 gcc 的默认 c++ 版本是 C++17 使用
g++ main.cpp -o main -std=c++20强制 C++20