dimanche 6 août 2017

Initializing std::pair via std::initializer_list doesn`t work while initializing an std::array?

I`d like to initialize std::array of std::pair via std::initializer_list.

pair<int, int> p = {3,4};//ok
array<pair<char,char>, 3> p = { make_pair('{','}'), make_pair('[',']'), make_pair('(',')') };//ok
array<pair<char,char>, 3> p = { {'{','}'}, {'[',']'}, {'(',')'} };//not ok

Why third option doesn`t work? Moreover this works fine, as well:

vector<pair<char, char>> brackets = { {'{','}'}, {'[',']'}, {'(',')'} };

Aucun commentaire:

Enregistrer un commentaire