我正在写一个功能模板
template<typename ...T>
void f(T ...t) {
X x(t...);
// ...
}
当我查看它时,我想知道调用
f()
会发生什么。烦恼的解析会使x成为函数声明吗?编译器似乎使其成为变量。有人可以帮我确定吗? 最佳答案
空括号(()
)仅在源代码中这样写时才使其成为函数声明。§14.5.3 [temp.variadic] p6
也提到了这一点:
请参见示例代码中的第二条注释。
关于c++ - X x(t…)是否可以导致带有复杂解析的函数声明?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13025535/