-1

当我尝试在程序中调用类函数时出现分段错误。在我的程序中,矩阵grid[][]快速变化,我希望能够在某个时间保存网格的“图像”,以便我可以将网格的更高版本与此参考进行比较。因此,当我尝试将“图像”保存grid[][]到参考矩阵时,我只需使用 for 循环将所有值复制到它。我在我的程序中做了一些测试,我似乎在getreference函数中遇到了分段错误。

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];
}
4

2 回答 2

2
for(int b = 0; a < SIZEY; b++)

应该

for(int b = 0; b < SIZEY; b++)

这就是您遇到分段错误的原因。

于 2013-02-13T04:19:40.407 回答
2
 for(int a = 0; a<SIZEX; a++)
    {
        for(int b = 0; a<SIZEY; b++) //??
        {
            reference[a][b] = grid[a][b];
        }
    }

将其更改为for(int b = 0; b < SIZEY; b++)

于 2013-02-13T04:20:46.327 回答