这给了我一个错误,表达式a
必须具有常量值。我无法理解这种方法有什么问题。 n
是一个整数,我给它的数组大小。有人可以帮我理解这个问题吗?
int fib(int n)
{
const int a = n;
int f[a];
...
}
答案 0 :(得分:1)
其他人已经说过这一点,但基本上问题在于你为数组分配了一个可变的大小,并且只能在程序的运行时知道。编译器必须知道数组在编译时的大小,因此这是一个问题并与C ++标准冲突。值得注意的是,一些编译器确实具有支持此功能的扩展,因此可能会让您感到困惑。我建议您在需要可变长度数组时使用std::vector
。