遇到这样一个问题,代码如下:
Histogram::Histogram(int l,int g,int h)
{
bar=new int[h/gap];
for(int i=0;i<h/gap;i++){
bar[i]=0;
}
low=l;
high=h;
gap=g;
n_small=0;
n_large=0;
//以上代码运行时提示出错
/*low=l;
high=h;
gap=g;
n_small=0;
n_large=0;
bar=new int[h/gap];
for(int i=0;i<h/gap;i++){
bar[i]=0;
}*///这样没问题,仅初始化顺序改变
}
而下面代码却没有问题:
Histogram::Histogram(int l,int g,int h)
:low(l),high(h),gap(g),n_small(0),n_large(0),bar(new int[h/gap])//这里顺序改变就没有问题。。。
{
for(int i=0;i<h/gap;i++){
bar[i]=0;
}
}
请问谁能解释一下吗? |