當我嘗試在程序中調用類函數時出現分段錯誤。在我的程序中,矩陣grid[][]
變化很快,我希望能夠在特定時間保存網格的「圖像」,以便我可以將網格的更高版本與此參考進行比較。因此,當我嘗試將grid[][]
的「圖像」保存到參考矩陣時,我只需使用for循環將所有值複製到參考矩陣。我在程序中做了一些測試,我似乎在getreference
函數中出現了分段錯誤。Segmentation Fault聲明類私有變量
class lattice
{
public:
lattice(){} // Constructor
~lattice(){} // Destructor
void getgrid(){...}
//Other functions...
void getreference()
{
for(int a = 0; a<SIZEX; a++)
{
for(int b = 0; a<SIZEY; b++)
{
reference[a][b] = grid[a][b];
}
}
}
private:
short grid[SIZEX][SIZEY];
short reference[SIZEX][SIZEY];
}
你的內部循環的條件是錯誤的。 – chris 2013-02-13 04:17:48
爲了將來的參考,在這種情況下你應該做的第一件事就是添加明顯的'assert'檢查來確定你知道可能導致錯誤的條件。例如,添加'assert((a> = 0)&&(a = 0)&&(b
2013-02-13 04:26:34