全局字符数组(2D)

时间:2017-03-04 14:07:54

标签: c++ arrays global

我试图用c ++声明一个全局6x6字符数组,整个数组用字母' I'初始化。

 char result[] = new char[6][6];
 result={{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},
{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'}};

获得的错误: 1.错误:数组初始值设定项必须是初始化列表或       字符串字面量 2. C ++需要所有声明的类型说明符。如果我在main()中初始化,则此错误消失。

查询已解决。

3 个答案:

答案 0 :(得分:1)

你尝试'我'而不仅仅是吗? 像

这样的东西
char result[] = new char[6][6];
result={{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I'},{'I','I','I','I','I','I}};

答案 1 :(得分:1)

您可以在不同的步骤中进行定义和初始化。首先,您不能在全局范围内使用一般语句(如赋值)。其次,你不能真正分配给一个数组。第三,你没有数组并试图改变指针。

错误是因为第一个原因。

简单的解决方案是使用实际数组,并在一个步骤中进行定义和初始化:

String

答案 2 :(得分:0)

为了使用编译时常量char值,你需要用一对逗号包围字符:'我'。您的程序正在尝试将名为 I 的变量或常量的值放入数组中。