Проще говоря, если вы не можете изменить PORT
, вы не можете указать PORT
как constexpr
.
A constexpr
выражение не может содержать reinterpret_cast
. Это неопределенное поведение. Имейте в виду, что приведение в стиле c, например (int*)
, уменьшено до static_cast
или reinterpret_cast
, в данном случае reinterpret_cast
.
Учитывая ваш пример, я не понимаю, почему вы не просто использовали бы const
.
const int *p = PORT;