delete
действует на void*
указатель, указывающий на объект
Этот дефект возникает, когда delete
оператор работает на void*
указатель.
Удаление void*
указатель не определен в соответствии со стандартом C++.
Если объект имеет тип MyClass
и delete
оператор работает на void*
указатель, указывающий на объект, MyClass
деструктор не вызывается.
Если деструктор содержит операции очистки, такие как релизы ресурсов или уменьшение значения счетчика, операции не выполняются.
Приведите void*
указатель на соответствующий тип. Выполните delete
операция по результату приведения.
Для образца, если void*
указатель указывает на MyClass
объект, приведите указатель на MyClass*
.
Группа: Хорошая практика |
Язык: C++ |
По умолчанию: Off |
Синтаксис командной строки: DELETE_OF_VOID_PTR |
Влияние: Низкое |