c++ - clang 中的非类型模板参数
问题描述
当我尝试编译以下代码时:
struct S { int a; };
template <const int*> struct T {};
constexpr S kS{.a = 42};
constexpr T<&kS.a> kT;
int main() { return 0; }
它适用于 gcc,但在 clang 上失败:
<source>:4:13: error: non-type template argument refers to subobject '&kS.a'
constexpr T<&kS.a> kT;
我无法找到有关此错误的任何信息。有谁知道这是什么,它是一个缺失的功能,还是 c++ 标准的一个怪癖,或者可能还有其他什么?除了复制值之外,还有其他解决方法吗?任何帮助,将不胜感激。
解决方案
推荐阅读
- c# - Winform-导出到 Excel - XLWorkbook - 日期和时间 NumberFormat
- java - 使用 java 客户端从 Elasticsearch 按名称删除索引的问题
- arrays - 在新数组中创建和推送元素取决于条件
- python - 我想从列表中获取字符串
- highcharts - 将自定义图标设置为多个图表的上下文菜单(Highcharts)
- ffmpeg - 错误:输出文件 #0 不包含任何流 (ffmpeg)
- docker - Docker-compose 运行成功,但缺少一个容器
- flutter - 在颤振中查看未按类型定义的文件的最佳方法是什么
- equation - GAMS中的方程索引系统
- sql - 如何在 Postgres 中查询 json 字符串