我正在学习可变模板和函数,我不明白为什么这段代码不能编译:
template<typename T>
static void bar(T t) {}
template<typename... Args>
static void foo2(Args... args)
{
(bar(args)...);
}
int main()
{
foo2(1, 2, 3, "3");
return 0;
}
当我编译它失败时会出现这样的错误:
错误 C3520: ‘ args’: 参数包必须在此上下文中展开
(功能 foo2
)。