我安装了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 '...'
编译列表“可变参数模板”,所以我相信这应该有效。我确实理解智能感知可能不正确,但是“编译器”应该可以工作。我不能从 IDE 构建吗?我必须在某处启用某些东西吗? int i{4};
似乎也不起作用,我确信这是有效的统一初始化。
最佳答案
在项目属性中,确保选择 Microsoft Visual C++ Compiler Nov 2012 CTP:
新的工具链不会替换现有的 Visual C++ 2012 工具链,并且默认不启用。它与现有工具链并行安装。
如果您选择新的工具链,您的程序将编译而不会出错。
关于c++ - VS 2012 中的可变参数模板(Visual C++ 2012 年 11 月 CTP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13238408/