![](/img/trans.png)
[英]cannot convert '<brace-enclosed initializer list>' to 'double' in return
[英]Cannot convert Brace-enclosed initializer list
我宣布一個布爾表並在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'
數組只能在定義上初始化,之后就不能這樣做了。
將初始化移動到定義,或手動初始化每個條目。
首先,您嘗試分配數組的具體元素,而不是分配完整數組。 其次,您只能將初始化列表用於初始化,而不能用於賦值。
這是正確的代碼:
bool Table = {{false,false},{true,false}};
您可以使用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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.