我宣布一个布尔表并在main()
const int dim = 2;
bool Table[dim][dim];
int main(){
Table[dim][dim] = {{false,false},{true,false}};
// code
return 0;
}
我使用mingw
编译器,构建器选项为g++ -std=c++11
。
错误是
无法将大括号括起来的初始化列表转换为' bool'在任务`
答案 0 :(得分:5)
数组只能按照定义进行初始化,之后就无法进行。
将初始化移至定义,或手动初始化每个条目。
答案 1 :(得分:0)
首先,您尝试分配数组的具体元素,而不是分配完整数组。 其次,您只能将初始化列表用于初始化,而不能用于赋值。
这是正确的代码:
bool Table = {{false,false},{true,false}};
答案 2 :(得分:0)
您可以使用memset(Table,false,sizeof(Table))
进行此操作。它可以正常工作。
这是您的完整代码
#include <iostream>
#include<cstring>
using namespace std;
const int dim = 2;
bool Table[dim][dim];
int main(){
memset(Table,true,sizeof(Table));
cout<<Table[1][0];
// code
return 0;
}