I'd like to initialize a 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 doesn't my third option work? Moreover this works fine, as well:
vector<pair<char, char>> brackets = { {'{','}'}, {'[',']'}, {'(',')'} };