Подтвердить что ты не робот

Список инициаторов не работает с вектором в Visual Studio 2012?

Возможный дубликат:
Возможности С++ 11 в Visual Studio 2012

Итак, я читал списки инициализаторов С++ 11 сегодня через Wikipedia и увидел, что С++ 11 поддерживает следующее синтаксис для стандартных контейнеров:

std::vector<std::string> v = { "xyzzy", "plugh", "abracadabra" };
std::vector<std::string> v({ "xyzzy", "plugh", "abracadabra" });
std::vector<std::string> v{ "xyzzy", "plugh", "abracadabra" }; 

Когда я пытаюсь выполнить следующее в Visual Studio 2012, я получаю ошибку компиляции C2552: 'vecs' : non-aggregates cannot be initialized with initializer list

Вот мой код:

#include <vector>

using namespace std;

int main() {
    vector<string> vecs = {"h", "g", "e"};
}

Поддерживает ли VS2012 списки инициализаторов или я просто что-то не понимаю?

Спасибо!

4b9b3361

Ответ 1

Visual Studio 2012 не поддерживает списки инициализаторов.

Ну, это произошло только до ноября 2012 года. Теперь это происходит, по крайней мере, в альфа-состоянии. Конечно, этот код все равно не будет работать, потому что они все еще помещают списки инициализаторов в стандартную библиотеку.