typeid используется в лямбда-выражении
Этот дефект возникает при использовании typeid на лямбда-выражении.
Согласно стандарту C++, тип лямбда-выражения является уникальным, безымянным типом класса. Поскольку тип уникален, другая переменная или выражение не могут иметь тот же тип. Использование typeid лямбда-выражение указывает, что ожидается, что вторая переменная или выражение будет иметь тот же тип, что и лямбда-выражение операнда. Использование таким образом типа лямбда-выражения может привести к неожиданным результатам.
typeid возвращает тип данных операнда. Обычно оператор используется для сравнения типов двух переменных. Например:
(typeid(var1) == typeid(var2))
var1 и var2. Это использование не применяется к лямбда-выражению, которое имеет уникальный тип.Избегайте использования typeid оператор лямбда-выражений.
| Группа: Объектно-ориентированная |
| Язык: C++ |
| По умолчанию: Вкл для рукописного кода, выкл для сгенерированного кода |
Синтаксис командной строки:
LAMBDA_TYPE_MISUSE
|
| Воздействие: Низкий |