как-то сделать так, чтобы set(QString str) вызывался всегда, когда нет точного совпадения с std::string_view? Сделать шаблон и специализацию не могу из-за ограничений Qt.
а сейчас оно когда вызывается?
Сейчас на вызов set("smth") у меня не разрешается перегрузка
Только шаблон + enable_if Либо добавить отдельную перегрузку для const char *, в которой звать перегрузку для QString
если вдруг выбор падёт на шаблоны, то проще всего так: void set(QString str) {} void set(std::same_as<std::string_view> auto str) {}
круто, только работать не будет )
что Qt?
почему не будет работать?
ок, мне показалось что тут всё таки надо вызвать view )
такая задача решится переставлением same_as в другую перегрузку
если Qt >= 5.10, то, наверное, лучше использовать QStringView
Шаблоны не запрещены в Qt.
С Q_OBJECT шаблоны запрещены
для методов - вродь нет, если это не слот
Обсуждают сегодня