Qt / Qt Creator и оператор стрелки (->) в заголовке функции - это работает? - PullRequest
0 голосов
/ 11 февраля 2020

Использование Qt Creator 4.10.2 и Qt 5.9 / 5.12

Как описано здесь начиная с C ++ 11, вы можете использовать оператор стрелки в заголовке функции. Соглашения о кодировании на моем рабочем месте в настоящее время требуют, чтобы все функции были написаны следующим образом.

Моя проблема в том, что, очевидно, Qt Creator не поддерживает это, когда вы автоматически генерируете определение функции с помощью рефакторинга ( щелкните по функции в заголовке без определения, чтобы открыть контекстное меню -> выберите Рефакторинг -> Добавить определение в xyz. cpp).

Пример: Если вы объявили функцию внутри вашего header

auto foo() -> void;

автоматически сгенерированное определение будет

void foo()
{
}

В дополнение к этому, по-видимому, генерация mo c в Qt не любит это стиль либо при использовании для слотов.

Есть ли обходной путь, или мне просто нужно сделать исключения для всех слотов, а также всегда либо вручную добавлять определение функции в мой исходный файл, либо редактировать автоматически сгенерированный ? Возможно, мне не хватает некоторых настроек в настройках Qt Creator?

...