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

如何在C++23中使用std::float64_t?编译报错求助

解决C++23中std::float32_t/std::float64_t无法编译的问题

1. 修正编译标准选项

你使用的-std=gnu23是C语言的标准参数,对C无效。C23对应的编译选项有两种:

  • 纯标准模式:-std=c++23
  • 包含GNU扩展的模式:-std=gnu++23

正确的编译命令示例:

g++ -std=c++23 testfloat.cpp
# 或者使用带扩展的模式
g++ -std=gnu++23 testfloat.cpp

2. 确认编译器版本达标

std::float32_t、std::float64_t是C++23新增的标准浮点类型,需要编译器完整支持该特性:

  • GCC需升级到12及以上版本(GCC 12才完整实现<stdfloat>头文件)
  • Clang需升级到16及以上版本(Clang 16完成<stdfloat>的支持)

可以通过以下命令检查当前编译器版本:

g++ --version
# 或
clang++ --version

3. 代码本身无问题

你的测试代码写法正确,只要满足上述两个条件,就能正常编译运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 10:42:13