简单的2d数组错误-c ++

时间:2013-04-03 00:16:54

标签: c++ arrays

我定义了一个名为“matriu”的数组:

#include "CQix.h"
#include "Graphics_Console.h"


class cTauler
{

CQix Qix;
HANDLE hScreen;
int iniciX, iniciY, fiX, fiY;

private:
bool matriu[38][28];

int area_activa;

};

我想将所有值初始化为false:

void cTauler::InicialitzarTauler()
{

int i,j;


for(i=0;i<=fiX+2;i++)
{
    for(j=0;i<=fiY+2;j++)
    {
        matriu[i][j]=false;
    }
}

但是当我编译时,我得到了这个错误: 0xC0000005:访问冲突。

所以我试图定义这样做的数组:

bool matriu[38][28]= {false};

我无法编译,因为:“不允许数据成员初始化程序”

我该怎么办? 感谢。

2 个答案:

答案 0 :(得分:1)

如果数据matriu[38][28]的大小始终相同,请考虑创建const static类成员fiXfiY并将其初始化为值38和28.您有可能没有正确初始化它们......

答案 1 :(得分:1)

你的内循环有一个错误的停止条件

i<=fiY+2

'j'将通过内部for循环递增,但它不会停止,因为'i'在内循环内没有递增。

您的错误只是打字错误的结果。将内循环更改为

for(j=0;j<=fiY+2;j++)