我一直在尝试使用std::formatC++20中包含的函数。据我所知,clang 14 应该支持此功能,但由于某种原因我收到以下错误:no member named 'format' in namespace 'std'。根据cppreference 的编译器支持图表,clang 应该支持文本格式,但我仍然收到此错误。我不知道问题是什么。
Ala*_*les 24
std::format libc++ 14 中不完整,因此默认禁用。构建llvm时需要传递LIBCXX_ENABLE_INCOMPLETE_FEATURES参数才能启用该功能。
std::format现在在 libc++17 中完全可用。
如果您无法使用最新版本的 libc++ 可以使用https://github.com/fmtlib/fmt。
据此,clang 应该支持文本格式
如果仔细观察,该单元格中有一个星号:
14*
下面,它说:
*- 将鼠标悬停在版本号上可查看注释
当你将鼠标悬停时,它会说:
该论文已实现,但仍标记为不完整的功能。尚未实施的 LWG 问题将导致 API 和 ABI 损坏。
未提及的是,默认情况下不启用不完整的功能。但这是有道理的,因为他们不希望用户依赖会破坏的 API/ABI。在我看来,正如这个问题所证明的那样,在该单元格中使用绿色是具有误导性的。
总之,最好使用第三方格式化库,直到文本格式化的标准实现在主要语言实现中完整、稳定且非实验性为止。
其他注意事项:
std::format.| 归档时间: |
|
| 查看次数: |
18776 次 |
| 最近记录: |