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