Здравствуйте уважаемые.
Уже который день бъюсь, не могу найти ошибку в своем коде.
Пишу кросс-код, на винде все прекрасно компилируется и работает, но под убунтой не хочет компилироваться, выдает следующую ощибку:
...
typedef struct array_t {
int item[4];
} array_t;
std::list<array_t> list_coordinates;
...
list_coordinates.push_back( {x1, y1, x2, y2} );
...
Текст ошибки:
main.cpp|34|error: no matching function for call to ‘std::list<array_t>::push_back(<brace-enclosed initializer list>)’|
Пробую так:
list_coordinates.push_back( new array_t( {x1, y1, x2, y2} ) );
ошибка уходит, но появляется другая:
main.cpp|34|error: could not convert ‘{x1, y1, x2, y2}’ from ‘<brace-enclosed initializer list>’ to ‘array_t’|
Под виндой все нормально компилится.
В чем моя ошибка?
Спасибо.