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