我的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数组,我只能使它成为真或假?
答案 0 :(得分:0)
尝试初始化3d bool数组。
memset(tab, 0, sizeof(bool)*wordLength*wordLength*nl);
答案 1 :(得分:0)
尝试这个,或者你可以使用memset作为sailfish009建议,
bool tab [wordLength] [wordLength] [nl] = {{{0}}};