我习惯了

new int[] {1,2,3,4,5};

用于初始化数组。但是现在看来,这不再起作用了,我必须明确说明有多少个元素,
new int[5] {1,2,3,4,5};

所以编译器忘了怎么算?

为了使这成为一个封闭的问题,是否可以省略元素的数量?

最佳答案

这在C++的当前版本中从未起作用,您只能对动态分配的数组进行零初始化(或不初始化)。

一直有效的是非动态分配的数组初始化:

int myarray[] = {1, 2, 3, 4, 5};

也许您对此感到困惑?

即使在C++ 0x中,在新表达式中省略显式数组大小说明符也不是合法的语法。

关于c++ - 内联数组初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4583628/

10-16 04:27
查看更多