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

时间:2018-06-28 02:07:15

标签: c++ arrays initialization

定义数组时,出现此错误:

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.

这是怎么了?我不能在没有初始化的情况下定义数组吗?

代码:

 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]
    }
};

1 个答案:

答案 0 :(得分:0)

这并不是数组的工作方式。一个简单的解决方法:

int * ugly = new int[index]

但是我确实建议对您的c ++进行梳理-并非故意。