gpt4 book ai didi

c++ - 如何在二维 vector 中打印所有 8 个邻居(段错误)

转载 作者:行者123 更新时间:2023-12-02 10:09:54 25 4
gpt4 key购买 nike

我正在尝试访问 全部 2D vector 上索引的 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 , 但是一个 remainder operator .

关于c++ - 如何在二维 vector 中打印所有 8 个邻居(段错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64076314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com