Закрепленная инициализация {}, без равняется знаку, буду использоваться в переменной инициализации.
Закрепленная инициализация {}, без равняется знаку, буду использоваться в переменной инициализации.
Заключенная в фигурные скобки инициализация:
classType Object{arg1, arg2, ...};Предотвращает неявные преобразования сужения такой как от double к float.
Избегает неоднозначного синтаксиса, который приводит к проблеме самого раздражающего синтаксического анализа.
Например, от объявления:
ResourceType aResource();
aResource функция, возвращающая переменную типа ResourceType или объект типа ResourceType.Для получения дополнительной информации смотрите Ambiguous declaration syntax.
Правило также запрещает использование = распишитесь за инициализацию потому что = знак может произвести впечатление, что присвоение или копирует конструктора, вызывается даже при том, что это не.
В общем случае средство проверки отмечает инициализации объекта obj1 из типа данных Type использование этих форматов:
Type obj1 = obj2;
Type obj1(obj2);
Если obj1 и obj2 имейте отличные типы данных.
Средство проверки включено, только если вы задаете версию C++ C++ 11 или позже. Смотрите C++ standard version (-cpp-version).
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
| Группа: операторы объявления |
Ambiguous declaration syntax | Check AUTOSAR C++ 14 (-autosar-cpp14) | Improper array initialization | Non-initialized variable | Variable shadowing | Write without a further read