在C ++中为什么会这样?
string strarr[10]={"hello","harshit"};
但不是这个
string strarr[10];
strarr[]={"hello","harshit"};
原因是什么?
答案 0 :(得分:1)
就像我们不能只用英语说“正确的马电池主食”并期望它意味着我们必须按照它定义的方式符合C ++语言。
如果要在定义数组后初始化数组中的项目,则必须逐个初始化它们:
strarr[0] = "hello";
strarr[1] = "harshit";
这就是C ++标准所说的,这就是我们所有人必须做的事情。
答案 1 :(得分:0)
IllegalAnnotationExceptions
正在初始化一个字符串数组,其中包含一些有效且看起来不合逻辑的值。
string strarr[10]={"hello","harshit"};
这根本无效。语法中不允许strarr[]={"hello","harshit"};
。
答案 2 :(得分:0)
您可以拨打"统一初始化"只有在构建新对象时; 为什么?向C ++ comittet提问