数组的下标出错

时间:2018-06-09 04:40:09

标签: c++ arrays

这给了我一个错误,表达式a必须具有常量值。我无法理解这种方法有什么问题。 n是一个整数,我给它的数组大小。有人可以帮我理解这个问题吗?

int fib(int n)
{
const int a = n;
int f[a];
...
}

1 个答案:

答案 0 :(得分:1)

其他人已经说过这一点,但基本上问题在于你为数组分配了一个可变的大小,并且只能在程序的运行时知道。编译器必须知道数组在编译时的大小,因此这是一个问题并与C ++标准冲突。值得注意的是,一些编译器确实具有支持此功能的扩展,因此可能会让您感到困惑。我建议您在需要可变长度数组时使用std::vector