C++ Ошибка компиляции под Ubuntu 12.04
От: zhogar  
Дата: 23.05.14 10:43
Оценка: -1
Здравствуйте уважаемые.

Уже который день бъюсь, не могу найти ошибку в своем коде.

Пишу кросс-код, на винде все прекрасно компилируется и работает, но под убунтой не хочет компилироваться, выдает следующую ощибку:


...

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’|

Под виндой все нормально компилится.

В чем моя ошибка?

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.