这有效:
char anArray[256] = {};
char (&refToAnArray)[256] = anArray;
这失败了:
char (&refToAnArrayAtArbitryAddress)[256] = *reinterpret_cast<char(*)[256]>(0xDEADBEEF);
使用:
error C2101: '&' on constant
为什么会失败,我该如何解决?
P.S我很清楚将0xDEADBEEF转换为指向256个元素数组的指针是危险的,但是对于32位游戏来说它是黑客攻击所以我需要它。
答案 0 :(得分:0)
似乎是一个编译器错误,解决方法是:
char(* const cTheArray)[256] = reinterpret_cast<char(* const)[256]>(0xDEADBEEF);
char(& TheArray)[256] = *cTheArray;