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