问题描述
|
我有以下代码:
class A{
//Constructor
public: A(int count,...){
va_list vl;
va_start(vl,count);
for(int i=0;i<count;i++)
/*Do Something ... */
va_end(vl);
}
};
class B : public A{
//Constructor should pass on args to parent
public: B(int count,...) : A(int count,????)
{}
};
我怎样才能做到这一点?
注意:我希望在初始化列表中而不是在构造函数主体中调用构造函数。但是,如果这是唯一的方法,我也很想听听它是如何工作的!
谢谢
解决方法
您无法前进到省略号。我认为第二个构造函数必须取
va_list
。
使用C ++ 0x \的基本构造函数转发或可变参数模板,这将是可能的。