定义数组时,出现此错误:
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]
}
};
答案 0 :(得分:0)
这并不是数组的工作方式。一个简单的解决方法:
int * ugly = new int[index]
但是我确实建议对您的c ++进行梳理-并非故意。