如何打印 2D 向量中的所有 8 个邻居(分割错误)

How to printing all 8 neighbors in a 2D vector (Segmentation Fault)

我正在尝试访问 ALL 二维向量索引的 8 个邻居。

然后我尝试执行以下伪代码来找到所有 8 个邻居

cout << grid[columnindex-(-1->1)][rowIndex-(-1->1)] << endl;

但是,当我这样做时,我遇到了分段错误。我不确定为什么。

I get a segmentation fault.

代码正在使用负索引在数组边界之外进行索引。
索引计算需要回绕。使用模运算。

// cout << grid[c-incc][r-incr] << endl;
int ci = (c-incc + vecSize)%vecSize;
int ri = (r-incr + veciSize)%veciSize;
cout << grid[ci][ri] << endl;

代码使用 (c-incc + vecSize)%vecSize; 而不是 (c-incc)%vecSize; 来处理 c-incc < 0,因为 % 不是 modulo operator, but a remainder operator