为什么下面的代码不受欢迎?
double d[4] = {0,1,2,3};
reinterpret_cast<double[2]>(d);
GCC 将其声明为 aninvalid cast from type 'double*' to type 'double [2]'
并且 clang 声明reinterpret_cast from 'double *' to 'double [2]' is not allowed
现在,如果意图不明显,我希望这段代码返回一个包含 {0,1} 的 double[2],就像 areinterpret_cast<double*>(d)
一样。(因此我知道它可以使用指针,所以这不是我要问的)