QHash<int, QByteArray> roles = sourceModel() ? sourceModel()->roleNames() : {};А він мені:
PaddingProxyModel.cpp:695:76: error: initializer list cannot be used on the right hand side of operator ':'
QHash<int, QByteArray> roles = sourceModel() ? sourceModel()->roleNames() : {};
^ ~~
«Не можу», — каже, — «справа від
: поставити {}». Ну ок, спробуймо зліва!QHash<int, QByteArray> roles = !sourceModel()? {} : sourceModel()->roleNames();А він у відповідь:
PaddingProxyModel.cpp:695:49: error: initializer list cannot be used on the right hand side of operator '?'
QHash<int, QByteArray> roles = !sourceModel()? {} : sourceModel()->roleNames();
^~
Короч, зліва теж не можна. Чого одразу не сказати щось на кшталт «не пиши initializer list в тернарніку»‽ Як у тому анекдоті про програмістів — максимально точна відповідь, яка, втім, не несе жодної користі.