请看下面的代码片段:
```html ```
考虑以下代码片段:
```html ```
考虑以下代码片段:
template <typename T>
struct foo
{
foo(T) { }
};
int main()
{
foo{0};
}
g++ 7 可以愉快地创建一个类型为foo
的临时对象,并推断出 T = int
。
clang++ 5和6 拒绝编译该代码:
error: expected unqualified-id
foo{0};
^
这是clang的一个bug,还是标准中有什么阻止了无名临时对象触发类模板参数推导?