Преобразование, которое ищет это reinterpret_cast
выражение, не входит в список преобразований [expr.reinterpret.cast] , которые reinterpret_cast
может выполнить [expr.reinterpret.cast] / 1 . 0x7F800000
- это литерал целочисленного типа. Единственное преобразование reinterpret_cast
, которое может выполнить преобразование из значения целочисленного типа в некоторый другой тип, - это преобразование такого значения в тип указателя [expr.reinterpret.cast] / 5 . float&&
является ссылочным типом, а не типом указателя. Единственное преобразование reinterpret_cast
, которое может выполнить преобразование в , в ссылочный тип, - это преобразование выражения glvalue [expr.reinterpret.cast] / 11 . 0x7F800000
не глуву. Таким образом, этот код плохо сформирован. Тот факт, что GCC примет это, довольно удивителен для меня и, я бы сказал, определенно является ошибкой, о которой следует сообщить & hellip;