【发布时间】:2021-07-17 09:53:22
【问题描述】:
将矩阵的指针赋值给双指针时出现问题,接下来会用到,如下:
const int COLOR_MAP_INDIA[16][3] = {{ 140, 67, 46 },{ 0, 0, 255 },{ 255, 100, 0 },{ 0, 255, 123 },{ 164, 75, 155 },{ 101, 174, 255 },{ 118, 254, 172 },{ 60, 91, 112 },{ 255, 255, 0 },{ 255, 255, 125 },{ 255, 0, 255 },{ 100, 0, 255 },{ 0, 172, 254 },{ 0, 255, 0 },{ 171, 175, 80 },{ 101, 193, 60 }};
int main(int argc, char *argv[]){
int **COLOR_MAP;
COLOR_MAP= COLOR_MAP_INDIA;
}
编译器说:
警告:从不兼容的指针类型 const int 分配给 int ** (*)[3]
怎么了?
【问题讨论】:
-
TLDR:像
int **COLOR_MAPnever 这样的东西指的是实际的二维数组。当被错误地称为“二维数组”或类似名称时,它通常是指指向多个单独、独立和独立的一维值数组的指针的一维数组。