考虑MNWE:
enum T {VALUE};
int main() {
T T_arr[8][8];
T** T_arr_ptr = T_arr;
}
现在这不编译,说
错误无法在初始化中将
T(*)[8]
转换为T**
不使用auto
,这个指针的正确类型是什么?
答案 0 :(得分:1)
2D数组名称衰减到指向数组第一行的指针,因此它是指向数组的指针。此处T_arr
在衰变后属于T(*)[8]
类型
改变
T** T_arr_ptr = T_arr;
到
T (*T_arr_ptr)[8] = T_arr;