首页 > 解决方案 > 在 C++ 中使用 2D 数组指针复制结构 - 指针算术

问题描述

以下代码不允许使用我在课堂上使用的符号将指针作为 2D 数组访问。我在这里错过了什么吗?Src 和 Dst 在此函数之外分配内存。

/* Map is a 2 Dimensional Array width = x and height = y */
/* if value of loc in src is 32 do not copy to dest */
struct Map {
   int *loc;
   int x; /
   int y;
}

/* Copy Map from Source to Dest */ 
void copyMap(Map *src, Map *dst)
{
    for (int i=0 ; i < src->x; x++)
    {
        for (int j=0 ; j < src->y; y++)
        {
            // loc is 32 skip save to dest 
            if (src->loc[i][j] != 32)
            {
              dest->loc[i][j] = src->loc[i][j]; // ==> Cant i access the pointer as 2D Array
            }

            return;
        }
    }
}

标签: c++11

解决方案


推荐阅读