Почему следующий код не одобряется?
double d[4] = {0,1,2,3};
reinterpret_cast<double[2]>(d);
GCC объявляет его invalid cast from type 'double*' to type 'double [2]'
, а clang объявляет, что reinterpret_cast from 'double *' to 'double [2]' is not allowed
Теперь, если намерение не очевидно, я хотел бы, чтобы этот код возвращал double[2], который содержит {0,1}, почти как reinterpret_cast<double*>(d)
. (Поэтому я знаю, что это будет работать с указателями, так что я не об этом спрашиваю)
using type = int[]; type{1, 2, 3, 4, 5};
‹-- временный массив. - person Simple   schedule 29.08.2013