简体   繁体   English

错误:数组初始化程序必须是初始化程序列表

[英]error: array initializer must be an initializer list

When I define an array, I got this error: 定义数组时,出现以下错误:

In file included from a.cc:2: 
./solution.h:4:13: error: array initializer must be an initializer list 
int ugly[]=new int[index]; 
^ 1
error generated.

What's wrong with it? 它出什么问题了? Can't I define an array without initialization? 我不能在不初始化的情况下定义数组吗?

Code: 码:

 class Solution {
public:
    int GetUglyNumber_Solution(int index) {
        int ugly[]=new int[index];
        ugly[0]=1;
        int t2=0,t3=0,t5=0,i;
        for (i=1;i<index;i++){
            ugly[i]=min(ugly[t2]*2,min(ugly[t3]*3,ugly[t5]*5));
            if (ugly[t2]*2==ugly[i]) t2++;
            else if (ugly[t3]*3==ugly[i]) t3++;
            else if (ugly[t5]*5==ugly[i]) t5++;            
        }
        return ugly[index-1]
    }
};

That's not exactly how arrays work. 这并不是数组的工作方式。 For a simple fix: 一个简单的解决方法:

int * ugly = new int[index]

But I do suggest brushing up on your c++ - no offense intended. 但我确实建议您对C ++进行复习-并非故意。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM