Ошибка: reinterpret_cast из целого числа в указатель
Следующий код не скомпилируется с GCC 6 и 32-битным режимом (на хосте amd64).
class foo {
static constexpr const char* ptr = reinterpret_cast<const char*>(0xff);
};
int main() {
return 0;
}
Команда компиляции:
g++ -m32 test.cc
Сообщение об ошибке:
test.cc:2:38: error: reinterpret_cast from integer to pointer
static constexpr const char* ptr = reinterpret_cast<const char*>(0xff);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Работает со старыми компиляторами (GCC 4.9). Он также работает как встроенное определение (не как статическая переменная-член) или компилируется в 64-битном режиме.
Есть ли способ заставить его работать с GCC 6?