我正在尝试访问2D 矢量上索引的所有8 个邻居。
然后我尝试执行以下伪代码来查找所有 8 个邻居
cout << grid[columnindex-(-1->1)][rowIndex-(-1->1)] << endl;
但是,当我这样做时,我得到一个分段错误。我不确定为什么。
我正在尝试访问2D 矢量上索引的所有8 个邻居。
然后我尝试执行以下伪代码来查找所有 8 个邻居
cout << grid[columnindex-(-1->1)][rowIndex-(-1->1)] << endl;
但是,当我这样做时,我得到一个分段错误。我不确定为什么。
我得到一个分段错误。
代码使用负索引在数组边界之外进行索引。
索引计算需要环绕。使用模数运算。
// 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
as%
不是模运算符,而是余数运算符。