Я пытаюсь объявить указатель constexpr, инициализированный некоторым постоянным целочисленным значением, но clang уничтожает все мои попытки:
Попытка 1:
constexpr int* x = reinterpret_cast<int*>(0xFF);
test.cpp:1:20: note: reinterpret_cast is not allowed in a constant expression
Попытка 2:
constexpr int* x = (int*)0xFF;
test.cpp:1:20: note: cast which performs the conversions of a reinterpret_cast is not allowed in a constant expression
Попытка 3:
constexpr int* x = (int*)0 + 0xFF;
test.cpp:1:28: note: cannot perform pointer arithmetic on null pointer
Я пытаюсь не разрешать дизайн? Если да, то почему? Если нет, как я могу это сделать?
Примечание: gcc принимает все эти данные.