【发布时间】:2019-02-23 19:55:26
【问题描述】:
void method(string a) {
int n = a.size();
int array[n];
}
以上代码使用gcc可以正确编译。数组的大小如何来自非常量变量?编译器是否会自动将int array[n] 转换为int* array = new int[n]?
【问题讨论】:
-
这是一个编译器扩展。
-
使用
const。使用参考。使用向量 -
使用 GCC,用
-pedantic-errors编译你的代码,然后看看它说了什么! -
@Nawaz:然后用
-std=c++1y编译,看看它说了什么。 -
@MikeSeymour:呵呵....