Предупреждение о скрытии базовых функций

У меня есть база кода C ++, где некоторые не виртуальные методы в базовом классе или переопределены / скрыты виртуальными или не виртуальными методами в производных классах. В основном это ошибка в коде.

Могу ли я что-нибудь сделать для автоматической проверки таких случаев, как предупреждение компилятора или инструмент?

Это похоже на Запретить производным классам скрывать не виртуальные функции от базы или же Нет предупреждения о скрытии не виртуальных методов с аналогичным прототипом (G ++ 4.4) но я ищу реальное решение для обнаружения этих проблем в существующей кодовой базе. Может быть, достаточно предупреждения о скрытых функциях (я думаю, что список будет достаточно мал, чтобы пройти по очереди)

Изменение базы кода вручную для добавления «переопределить» или «окончательный» или около того не вариант, так как эта проверка должна быть сделана только один раз. Глобальное решение, такое как определение, чтобы «завершить» все не виртуальные функции, предотвращающие их скрытие, было бы в порядке.

Я использую Visual Studio 2012, но также имею доступ к Ubuntu и GCC.

2

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]