Я установил Компилятор Visual C ++ ноябрь 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 '...'
Список компиляции «variadic templates», так что я считаю, что это должно работать. Я понимаю, что intellisense может быть неправильным, однако «компилятор» должен работать. Могу ли я не строить из IDE? Должен ли я что-то включить? int i{4};
похоже, тоже не работает, и я уверен, что это правильная равномерная инициализация.
В свойствах проекта обязательно выберите Компилятор Microsoft Visual C ++, ноябрь 2012 г.:
Новый набор инструментов не заменяет существующий набор инструментов Visual C ++ 2012 и по умолчанию не включен. Он устанавливается бок о бок с существующим набором инструментов.
Если вы выберете новую цепочку инструментов, ваша программа будет компилироваться без ошибок.
Других решений пока нет …