为什么有的C++编译器里数组的大小是变量时不会出错,有的会出错.

高分请问下,为什么有的C++编译器里数组的大小是变量时不会出错,有的会出错.
最新回答
江心薄雾起

2024-05-31 00:38:47

这个的原因是有两方面:
C++标准里明确规定:数组的初始化必须是常量、或者常量表达式。
所以上面的代码只在一部分编译器里面能够编译通过,如:MinGW
微软的编译器是不能编译通过这个的,因为微软的编译器没有在标准的基础上进行扩展,但是MinGW编译器却扩展了数组中的初始化方式,所以如果楼主想要编译一个跨平台的程序,就不要使用这个编译器扩展的特性来写程序。最好是根据C++标准来写。
飞花逐水流

2024-05-31 06:09:31

这是编译器的原因,一般是不会报错的。