You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下GCC11.2使用std::numbers提示未声明错误该如何解决?

GCC 11.2默认编译时未启用C20标准,std::numbers属于C20新增的数学库特性,必须显式指定编译标准才能正常识别,可按以下步骤配置:

1. 手动编译验证

在命令行执行编译命令时添加-std=c++20参数即可正常编译:
g++ main.cpp -o main -std=c++20
如需使用GNU扩展特性,可将参数替换为-std=gnu++20。

2. VSCode 永久配置

根据你使用的执行工具选择对应配置:

  • 若使用Code Runner插件运行代码:
    打开VSCode设置,搜索Code-runner: Executor Map,选择在settings.json中编辑,找到cpp对应的配置项,修改为:
    "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -std=c++20 && $dir$fileNameWithoutExt",
  • 若使用C/C++扩展的默认编译/调试功能:
    打开项目.vscode目录下的tasks.json文件,在args参数列表中添加-std=c++20,示例配置:
    "args": [
        "-fdiagnostics-color=always",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "-std=c++20"
    ]
    

3. 编辑器智能提示修复

如果配置后VSCode编辑器内仍然提示std::numbers未识别,修改.vscode目录下的c_cpp_properties.json,将cppStandard字段的值改为c++20即可。

内容的提问来源于stack exchange,提问作者SoaAlex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:15:03