C ++ bool数组返回1或0以外的值

时间:2017-04-11 10:27:24

标签: c++ arrays boolean

我的bool数组有一个非常奇怪的问题。我有3D bool数组:

bool tab[wordLength][wordLength][nl];

我用0填充它,这是我稍后对该数组执行的唯一操作(在几个for循环中):

(...)
tab[1][s][v] = true;

(...)
if(tab[p-1][s-1][b] == true && tab[l-p-1][s+p-1][c] == true){
    tab[l-1][s-1][a] = true;
}

问题是,当我想在某些单元格中写入该数组的内容时,我得到1或0(应该是这样),但在某些情况下,我得到的是整数,例如182 - 这是怎么可能的呢? bool数组,我只能使它成为真或假?

2 个答案:

答案 0 :(得分:0)

尝试初始化3d bool数组。

memset(tab, 0, sizeof(bool)*wordLength*wordLength*nl);

答案 1 :(得分:0)

尝试这个,或者你可以使用memset作为sailfish009建议,

bool tab [wordLength] [wordLength] [nl] = {{{0}}};