小编jan*_*ous的帖子

成员初始值设定项“SuperClass”未命名非静态数据成员或基类

我的一些构造函数有问题。两个子类都需要获得相同的类(没有超类),这就是为什么这些类应该在超类中初始化:

template<typename T, typename S>   
class SuperClass {
protected:
    OtherClass <T> const& _class1;
    OtherOtherClass <T> const& _class2;

    SuperClass() {

    }

    SuperClass(OtherClass<T> const& class1, OtherOtherClass<T> const& class2)
        : _class1(class1), _class2(class2)
    {
            // Alternative I tried:
            // this->_class1 = class1;
            // this->_class2 = class2;
    }
Run Code Online (Sandbox Code Playgroud)

我尝试通过以下方式使用它:

    template<typename T, typename S> 
    class SubClass1 : public SuperClass<T, S> {
    private:
        someFunc() {
            return this->_class1.getSomething(); // as an example
        }

    public:
        SubClass1(OtherClass<T> const& class1,
                OtherOtherClass<T> const& class2)
                : SuperClass(class1, class2)
            {
                // some definitions
            } …
Run Code Online (Sandbox Code Playgroud)

c++ constructor

1
推荐指数
1
解决办法
4141
查看次数

标签 统计

c++ ×1

constructor ×1