簡體   English   中英

如何在 2D 向量中打印所有 8 個鄰居(分割錯誤)

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

我正在嘗試訪問 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 %不是模運算符,而是余數運算符

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM