我定义了一个中间typedef来定义对固定大小数组的引用。
typedef int CI[0x10];
CI& arr=*(CI*)mypointer;
这样写,这样以后我就可以使用
countof(arr)
我试图用一个语句写它,但是下面是我失败的尝试。我知道这是错误的,因为“&”应同时位于“int”和“[0x10]”中,而不应位于arr1上,但是可以在一个语句中编写它;
int (arr1&)[classInfoN]=*(CI*)mypointer;
最佳答案
您将&
放在错误的位置。就像您的工作示例一样,它始终位于标识符的左侧。
所以:
int (&arr1)[0x10] = *reinterpret_cast<int (*)[0x10]>(mypointer);