Если T является "указателем на cv void", результатом является указатель на самый производный класс, на который указывает x.
Какое хорошее применение этого синтакса? Когда следует использовать dynamic_cast<void*>?
Ответ 1
Одной из распространенных причин является выяснение того, являются ли два интерфейса IA* и IB* фактическими указателями на один и тот же базовый объект. Если вам это нужно, используйте бросок.
IIRC, возможно даже в случае множественного наследования с повторяющейся не виртуальной базой иметь два указателя IA*, которые сравнивают неравные, но указывают на один и тот же объект, потому что они указывают на два разных подобъекта IA.