【发布时间】:2022-03-03 01:06:48
【问题描述】:
以下代码使用 Clang 编译和运行(在 13、14 和当前 git head 上测试),但不使用 GCC。
struct foo {
int field<0, 1, int, 3>;
};
但我不明白它在声明什么:这个字段是什么?
int field<0, 1, int, 3>;
我可以在field<> 模板中放入我想要的任何东西(如果它甚至是一个模板?),例如field<0, 1, int, 3> 编译并运行。但之后我无法访问它。
【问题讨论】:
-
@463035818_is_not_a_number 我在帖子里说过这是和clang有关的
-
很明显看起来像是clang中的一个错误!也可能是 NDR?
-
如果您还没有报告,请将此报告为错误。
-
Bug 已向 clang 报告并已修复,感谢 @cor3ntin 的疯狂效率:github.com/llvm/llvm-project/issues/54151
标签: c++