Ответ 1
(Я работаю в Microsoft и с Dinkumware для поддержки реализации стандартной библиотеки VC.)
[Данияр]
Я не уверен, может ли это быть вызвано тем, что я (к сожалению) использую немецкую версию Visual Studio, а обновление компилятора - на английском языке.
К сожалению, английский CTP не поддерживает немецкий VS.
"Драйвер компилятора" cl.exe - это то, что вызывает компилятор front-end c1xx.dll, компилятор c2.dll компилятора и linker link.exe. Для драйвера компилятора очень необычно сбой. Я предполагаю, что он пытается отобразить одно из сообщений об ошибках, которые были добавлены CTP, но так как CTP не обновлял немецкие ресурсы, драйвер компилятора не смог загрузить сообщение об ошибке и приступить к сбою.
Обратите внимание, что это отличается от внутренней ошибки компилятора в интерфейсе или back-end или обычной ошибкой компилятора, которая неправильно выбрасывается. (Многие ICE и фиктивные ошибки были исправлены после освобождения CTP.)
Но даже после этого не существует ни std:: initializer_list, ни <initializer_list > заголовок доступен.
Установлен CTP <initializer_list > в специальном месте. (Это было написано командой компилятора.)
В командной строке заклинания использовать CTP и поставить <initializer_list > на пути включения (при условии расположения по умолчанию):
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86
set PATH=C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2012 CTP\bin;%PATH%
set INCLUDE=C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2012 CTP\include;%INCLUDE%
Попытка скомпилировать строку auto a = {0}; который критикуется IntelliSense
Это было задокументировано - Intellisense не обновлялся CTP, поэтому он не распознает какие-либо новые функции.
[rubenvb]
Стандартная библиотека С++ не была обновлена компилятором, оставив вас без приличных <tuple> и <intializer_list > (это включает в себя отсутствие конструкторов списка заблокированных инициализаций для всех стандартных контейнеров)
Вам может быть интересно узнать, что мы обновили стандартную библиотеку для полной поддержки списков перечислений и списков инициализации. Это включает в себя все перегрузки initializer_list, заданные текущим рабочим документом (N3485), плюс установка <initializer_list > в обычном месте наряду со всеми другими стандартными заголовками. (Это также официальная копия Dinkumware, хотя различия между ней и "поддельной" версией команды компилятора были в основном косметическими.) Этот материал будет доступен в следующем публичном выпуске, когда бы и что бы это ни было. Наша следующая задача - обновить стандартную библиотеку с помощью явных операторов преобразования и вариативных шаблонов, заменив наше хрупкое моделирование.