VS 2012中的Variadic模板(Visual C ++ 2012年11月CTP)

时间:2012-11-05 18:50:19

标签: c++ visual-c++ c++11 visual-c++-2012

我安装了Visual C++ Compiler November 2012 CTP并创建了一个C ++控制台项目。我在

中写了这个
template<typename T>
void Test(T value){
}
template<typename T, typename... Args>
void Test(T value, Args... args){
    Test(value);
    Test(args...);
}

int main(){
    Test(1,2,3);
}

然后我按下F6来构建IDE。我在第4行得到了这个错误

error C2143: syntax error : missing ',' before '...'

编译列表“可变参数模板”所以我认为这应该有效。我知道intellisense可能是不正确的,但'编译器'应该工作。我可以不用IDE构建吗?我必须在某个地方启用某些东西吗? int i{4};似乎也不起作用,我确信这是有效的统一初始化。

1 个答案:

答案 0 :(得分:37)

在“项目属性”中,确保选择 Microsoft Visual C ++编译器2012年11月CTP

Toolchain

新工具链不会替换现有的Visual C ++ 2012工具链,默认情况下不会启用它。它与现有的工具链并排安装。

如果选择新的工具链,程序将编译而不会出错。