为什么数组维度必须是const(在运行时知道)

时间:2017-04-22 10:33:47

标签: c++ arrays c99

在一本书(C ++ Primer)中,我发现"一个 nonconst 变量或一个 const 变量,其值在运行时才知道,不能使用指定数组的维度"。然后我制作了2个程序来测试它:

     `
        #include <iostream>
        using namespace std;
        //PROGRAM 1
        int main() {
        const int j;
        int k[j];
        return 0;
        }
由于 j 没有被初始化,所以

程序一定会失败。

   `
   int main()   //PROGRAM 2
    {
    int k;
    cin>>k;
    int p[k];
    return 0;
    }

这很好但是与书相矛盾。请告诉我该书的陈述是否适用于C99以外的某些版本。

0 个答案:

没有答案