以下程序
template <typename = int>
struct S {};
S (s);
由 GCC 编译,只有关于声明符周围多余括号的警告。但是,Clang 为声明给出了一个硬错误
错误:使用推导的类模板特化类型声明变量时不能使用括号
这是一个非常具体的错误(例如S<int> (s);
编译),所以我想这是故意的,但我找不到说这是格式错误的措辞。像dcl.dcl和temp.class.general这样的明显候选人不会对此说任何话,除非我错过了。
这是 GCC 错误,还是 IFNDR,Clang 有帮助?