LINUX.ORG.RU

Проблемы gcc c array?

 


1

3
 
    #include <array>
    using namespace std;
    struct MyStruct
    { string msg;
      int arg;
    };
...
    const  int dimension = 2;
    array<MyStruct, 2> parsing_map =
    {
        {"str", 2}, {"str", 1}

    };

error: too many initializers for ‘std::array<MyStruct, 2ul>

изменение dimension в большую или меньшую сторону проблему не решает, с vector всё работает

gcc 4.8.2

★★★★★

Последнее исправление: next_time (всего исправлений: 2)

Ответ на: комментарий от Reinar

и правда заработало, но не забыл:

http://en.cppreference.com/w/cpp/container/array

пишут что:

std::array<int, 3> a1{ {1, 2, 3} }; // double-braces required in C++11 (not in C++14)
std::array<int, 3> a2 = {1, 2, 3}; // never required after =

опять же, вектору лишние скобки не нужны

next_time ★★★★★
() автор топика
Ответ на: комментарий от Reinar

даже так работает: array<int, 3> hh = {1, 1, 1};

next_time ★★★★★
() автор топика
Ответ на: комментарий от Stil

заработало, но логики не видно. см. 2 сообщения выше.

next_time ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.