【问题标题】:variable-sized object may not be initialized confusion可变大小对象可能未初始化混淆
【发布时间】:2017-07-08 22:18:40
【问题描述】:

以下代码正在尝试随机初始化 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];
     }

【问题讨论】:

  • s/int z[x]/z[x]/

标签: c++ arrays random


【解决方案1】:

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

删除int 来实现:

z[x]= rand()%2;

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 2017-03-28
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      相关资源
      最近更新 更多