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] = ' ';
           }
        };