C++ "Too many initializers" 创建字符数组时出错
C++ "Too many initializers" Error while making an array of chars
我是 C++ 新手。我知道很多 python 但我对 C++ 非常陌生。我正在创建一个字符数组,但出现此错误 - VSCode 中的“初始化程序过多”。
请让我知道如何解决它。
这是代码
1 | class Board {
2 | public:
3 | char pos_list[9];
4 |
5 | void reset_pos() {
6 | pos_list[9] = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '};
7 | };
8 | };
我在第 6 行收到此错误。
请帮助我:(
编辑:我最初的回答不正确,请找到修改后的正确方法来做您正在寻找的事情:
您将无法使用 {'','',''} 在 C++ 中为数组中的所有元素分配空值,您只能在声明数组时初始化数组时执行此操作.此外,它也不是理想的,因为它会在数组的整个长度上使用 ' ' 的硬编码。更好的方法是遍历数组然后将每个元素设置为空,如下所示:
void reset_pos() {
int len = sizeof(pos_list)/sizeof(pos_list[0]);
for(int i=0; i<len; i++){
pos_list[i] = ' ';
}
};
我是 C++ 新手。我知道很多 python 但我对 C++ 非常陌生。我正在创建一个字符数组,但出现此错误 - VSCode 中的“初始化程序过多”。 请让我知道如何解决它。 这是代码
1 | class Board {
2 | public:
3 | char pos_list[9];
4 |
5 | void reset_pos() {
6 | pos_list[9] = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '};
7 | };
8 | };
我在第 6 行收到此错误。 请帮助我:(
编辑:我最初的回答不正确,请找到修改后的正确方法来做您正在寻找的事情:
您将无法使用 {'','',''} 在 C++ 中为数组中的所有元素分配空值,您只能在声明数组时初始化数组时执行此操作.此外,它也不是理想的,因为它会在数组的整个长度上使用 ' ' 的硬编码。更好的方法是遍历数组然后将每个元素设置为空,如下所示:
void reset_pos() {
int len = sizeof(pos_list)/sizeof(pos_list[0]);
for(int i=0; i<len; i++){
pos_list[i] = ' ';
}
};