В пользовательской модели элемента я хочу вызывать данные, измененные с некоторыми заданными ролями.
С двумя элементами в initializer-list
он отлично компилируется:
emit dataChanged(index, index, QVector<int>{ Qt::CheckStateRole, Qt::DisplayRole });
Однако, когда я добавляю третий элемент в список, он терпит неудачу:
emit dataChanged(index, index, QVector<int> { Qt::CheckStateRole, Qt::DisplayRole, Qt::DecorationRole });
error C2440: '<function-style-cast>' : cannot convert from 'initializer-list' to 'QVector<int>'
2> No constructor could take the source type, or constructor overload resolution was ambiguous
Кажется, неважно, какие роли, любые две скомпилируются, а третья — нет. Я использую MSVC2013 и Qt 5.4.1. Я делаю что-то не так здесь?