gpt4 book ai didi

c++ - 具有推导类模板特化类型的变量声明符中的冗余括号

转载 作者:行者123 更新时间:2023-12-03 20:41:18 25 4
gpt4 key购买 nike

以下program

template <typename = int>
struct S {};

S (s);
由 GCC 编译,只有一个关于声明符周围冗余括号的警告。但是,Clang 给出了声明的硬错误

error: cannot use parentheses when declaring variable with deduced class template specialization type


这是一个相当具体的错误(例如 S<int> (s); 编译),所以我猜这是故意的,但我找不到说这是格式错误的措辞。明显的候选人喜欢 dcl.dcltemp.class.general不要说这件事,除非我错过了。
这是 GCC 错误,还是 IFNDR,而 Clang 有帮助吗?

最佳答案

这似乎是 Clang 过于急切地应用 CWG2376通过禁止所有声明运算符,而不仅仅是那些更改声明类型的运算符。诊断最令人烦恼的解析问题的启发式方法也可能在起作用。

关于c++ - 具有推导类模板特化类型的变量声明符中的冗余括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67013936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com