初始化数组遇到的问题

int b[n];
    for(int i=0;i<n;i++)
    {
        b[i]=0;
    }
    for(int i=0;i<n;i++)
    {
        if(a[i]==1)
        {
        sum++;
        if(i!=1)
        {
            int b[x]=i-1;x++;
        }
    }}

为什么会显示 [Error] array must be initialized with a brace-enclosed initializer呢 明明初始化了数组中的每一个值的啊

int b[x]=i-1
改为b[x] = i-1; 另外x从哪来的???

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^