2 wangshuai199406 wangshuai199406 于 2014.10.19 15:20 提问

c++类中的成员函数和构造函数怎么接受数量不定的参数啊
c++

我用va_list接受不到 求大神们赐教 代码如下:
class data{
public:
data(){
base= nullptr;
constants= nullptr;
bounds= nullptr;
dim= 0;
}
void initial(int d, ...){
if((d< 1)||(d>8)){
cout<< "Somethings wrong with dim"<< endl;
return;
}
dim= d;
bounds= new int[dim];
va_list arg_ptr;
va_start(arg_ptr, dim);
int total= 1;
for(int i= 0;i< dim;i++){
bounds[i]= va_arg(arg_ptr, int);
cout<< bounds[i]<< endl;
total*= bounds[i];
}
va_end(arg_ptr);
base= new int[total];
constants= new int[dim];
constants[dim-1]= 1;
for(int i= dim-2;i>=0;i--)
constants[i]= bounds[i- 1]*constants[i+ 1];
}
void outArray()const{

}
int getTotal()const{
    return constants[0]* bounds[0];
}
~data(){
    delete[] base;
    delete[] bounds;
    delete[] constants;
}

private:
int *base;
int dim;
int *bounds;
int *constants;
};

1个回答

oyljerry
oyljerry   Ds   Rxr 2015.01.01 22:01

构造函数不支持可变参数

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!