13

我安装了Visual C++ 编译器 2012 年 11 月 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 '...'

编译列表“可变参数模板”所以我相信这应该有效。我确实理解智能感知可能不正确,但是“编译器”应该可以工作。我不能从 IDE 构建吗?我必须在某处启用某些东西吗?int i{4};似乎也不起作用,我确信那是有效的统一初始化。

4

1 回答 1

37

在项目属性中,确保选择Microsoft Visual C++ Compiler Nov 2012 CTP

工具链

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

如果您选择新的工具链,您的程序将无错误地编译。

于 2012-11-05T18:55:25.827 回答