Visual C ++ имеет C4150 предупреждение для случаев, когда delete
применяется к указателю на неполный тип.
Такие случаи приводят к неопределенному поведению в соответствии со Стандартом.AFAIK в Visual C ++, они приводят к функции operator delete()
по умолчанию и не вызывают деструктор, который допускает многочисленные ошибки.
Теперь я мог бы использовать #prarma warning( error : 4150 )
в Visual C ++ для обработки этого предупреждения как ошибки.Я предполагаю, что есть причины, по которым это предупреждение, а не ошибка по умолчанию в Visual C ++.
В каком реальном коде я хотел бы разрешить такие случаи?Почему бы мне не включить это предупреждение в ошибку компилятора?