可变大小的对象不能被初始化混淆

variable-sized object may not be initialized confusion

本文关键字:初始化 不能 对象      更新时间:2023-10-16

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

错误:可变大小的对象可能 未初始化 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];
}

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

删除int以执行此操作:

z[x]= rand()%2;

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

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