C ++中标量初始化程序错误的大括号

时间:2017-08-19 01:15:47

标签: c++ arrays

我正在尝试制作一个简单的"字体"通过Arduino在我的8x8显示器上使用的数字。这只是一个简单的测试。

#include <iostream>
using namespace std;

class Font{
    public:
        void Number(int num){
            switch(num){
                case 0:
                    bool Font[][5] = {{{{ 0, 1, 0,
                                      1, 0, 1,
                                        1, 0, 1,
                                         1, 0, 1,
                                          0, 1, 0 }}}};
                   break;

               for(int y = 0; y < 5; y++){
                    for(int x = 0; x < 3; x++){
                        cout << Font[y][x];
                    }
                    cout << endl;
            }
        }
    }
};

int main()
{
    Font myFont;
    myFont.Number(0);

    return 0;
}

然而,当我运行这个时,我得到一个错误说&#34; 13:34:错误:围绕标量初始化器的类型&#39; bool&#39; 0,1,0}}}};&#34;

1 个答案:

答案 0 :(得分:2)

这不是初始化多维数组的方式。你可以使用

bool Font[][5] = {{ 0, 1, 0 },
                  { 1, 0, 1 },
                  { 1, 0, 1 },
                  { 1, 0, 1 },
                  { 0, 1, 0 }};

bool Font[][5] = {0, 1, 0,
                  1, 0, 1,
                  1, 0, 1,
                  1, 0, 1,
                  0, 1, 0};