C ++可变参数构造函数 - 传递给父构造函数

时间:2011-05-30 18:55:24

标签: c++ inheritance constructor override

我有以下代码:

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, ????)
    {}
};

我该怎么做?

注意:我更愿意在初始化列表中调用构造函数而不是在构造函数体中。但如果这是唯一的方法,我也有兴趣听听它是如何工作的!

由于

1 个答案:

答案 0 :(得分:3)

您无法转到省略号。第二个构造函数必须采用va_list,我认为是。

使用C ++ 0x的基本构造函数转发或可变参数模板可以