Переменная типа auto не должна быть инициализирована с помощью {} или = {} braced-initialization
Переменная типа auto не должна быть инициализирована с помощью {} или = {} braced-initialization.
Вычет по типу для auto имеет контринтуитивный результат, когда инициализация использует скобки. Выводимый тип std::initializer_list<> вместо типа, который можно угадать из инициализатора.
Для образца, определение:
auto x{1};x будучи std::initializer_list<int> вместо int. Некоторые компиляторы выводят int тип из этого определения, но поведение неоднородно для компиляторов.Шашка помечает определения переменных, которые используют тип auto если переменная инициализирована с помощью {} или ={} инициализация скобок.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
| Группа: Деклараторы |
| Категория: Необходимый, Автоматизированный |