可变大小的对象可能无法初始化混淆

时间:2017-07-08 22:18:40

标签: c++ arrays random

以下代码试图随机初始化0或1的数组z。我收到以下错误消息

错误:可变大小的对象可能       没有被初始化 int z [x] = rand()%2;

生成1个错误。 不是Z大小给定为10?

 int z[10];
     for(int x =0; x <=(sizeof(z) / sizeof(z[0]));x++)
     {
            srand((unsigned)time(NULL));
            int z[x]= rand()%2;
            std ::cout<<z[x];
     }

2 个答案:

答案 0 :(得分:0)

int z[x]看起来像一个变量定义,而不是赋值。

删除int以进行此操作:

z[x]= rand()%2;

此外,您只需使用srand为随机数生成器播种一次,因此请将其移至循环之前

答案 1 :(得分:0)

内部for循环更改int z[x]= rand()%2;z[x]= rand()%2;。我应该从那里删除int