MohanaManikandan Ответов: 0

PC lint warning - COM класс имеет виртуальные функции, но не виртуальный деструктор


Я исправляю некоторые компьютерные корпии плюс предупреждения и ошибки. Кодовая база содержит IDL - файлы для COM-структур. Следовательно, автоматически сгенерированные файлы h имеют виртуальные функции для COM-класса, но не виртуальный деструктор. Ниже приведен фрагмент из автоматически сгенерированного заголовка из IDL-файла.

MIDL_INTERFACE("9BY99957-418C-4A53-9C86-DD9834B55882")
ISomeInterface : public IUnknown
{
public:
virtual HRESULT foo() = 0;
}


При запуске Pc Lint Plus я получаю это предупреждение

Цитата:
предупреждение 3412: "struct ISomeInterface" имеет виртуальные функции, но не виртуальный деструктор


Что я уже пробовал:

Я думаю о том, чтобы подавить эти предупреждения, так как здесь я мало что могу сделать. Но сталкивался ли кто-нибудь с этой проблемой и нашел ли кто-нибудь способ ее преодолеть ?

Michael Haephrati

Проверьте этот ответ https://stackoverflow.com/questions/10024796/c-virtual-functions-but-no-virtual-destructors

0 Ответов