Нет, initializer_list
может быть создан только из рамно -init-list{el1, el2, ...}
, длина которого должна быть константой времени компиляции.
Если длина представляет собой константу времени компиляции, то вы можете построить бит-init-list из вариационного расширения std::index_sequence
; Однако, это, вероятно, будет более простым в использовании конструктор заливка std::list
:
std::list<string> mylist(listSize, "default");
Вы можете сделать то же самое для QList
за счет использования функции fromStdList
конструктора:
QList<string> mylist = QList<string>::fromStdList(
std::list<string>(listSize, "default"));
Просто вызовите конструктор напрямую. – Puppy
, который работает только с классами с заполнением-contructr. QList, например, не имеет. – eddy