Я понимаю, что a static_cast - это бросок от одного типа к другому, который (интуитивно) является актом, который при некоторых обстоятельствах может быть успешным и иметь смысл в отсутствие опасного броска. Между тем, reinterpret_cast - это трансляция, которая представляет собой небезопасное преобразование, которое может переинтерпретировать биты одного значения в виде бит другого значения.
Может кто-нибудь описать сценарий, когда код будет компилироваться, лить и static_cast не вызовет никаких проблем, но с reinterpret_cast будет проблема?