Шаблон Variadic в VS 2012 (Visual С++ ноябрь 2012 CTP)
Я установил Visual С++ Compiler ноябрь 2012 CTP и создал проект консоли С++. Я написал это в
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 '...'
Список компиляции "variadic templates", поэтому я считаю, что это должно сработать. Я понимаю, что intellisense может быть неправильным, однако "компилятор" должен работать. Могу ли я строить из IDE? Нужно ли мне что-то разрешать? int i{4};
тоже не работает, и я уверен, что это действительная равномерная инициализация.
Ответы
Ответ 1
В свойствах проекта убедитесь, что вы выбрали Microsoft Visual С++ Compiler Nov 2012 CTP:
![Toolchain]()
Новая инструментальная цепочка не заменяет существующую инструментальную цепочку Visual С++ 2012, и по умолчанию она не включена. Он установлен бок о бок с существующей инструментальной цепочкой.
Если вы выберете новую инструментальную цепочку, ваша программа будет компилятором без ошибок.