如何解决如何在2D向量中打印所有8个邻居细分错误
我正在尝试访问二维向量上索引的 ALL 个邻居。
然后我尝试执行以下伪代码来查找所有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
,因为%
不是modulo operator,而是remainder operator。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。