Re[4]: C++11 error: use of deleted function
От: watchmaker  
Дата: 08.04.16 01:38
Оценка:
Здравствуйте, Elija, Вы писали:

E>Да, опять непонятно... То есть в каких-то случаях элементы массива copy-initialized from the corresponding initializer-clause, а в каких-то нет?


Выше я неверно написал. Там конечно хоть и происходит copy-initialization, но по стандарту copy-initialization должен успешно срабатывать если доступен не explicit конструктор с аргументами, принимающими соответствующий expression-list (а наличие или отсутствие конструктора копирования после этого уже не важно). То есть твой код валиден, а ошибка в gcc. Легко тригеррится, если класс не trivially destructible (а включение std::queue к этому тоже приводит). Ну а обход проблемы через std::array работает по прежнему из-за того, что там нет агрегатной инициализации.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.