class CL1 { public: CL1(int) {} };
class CL2 : private virtual CL1{ public: CL2() : CL1(42) {} };
class CL3 : private virtual CL1{ public: CL3() : CL1(42) {} };
class CL4 : public CL2, public CL3
{
public:
CL4() : CL2(), CL3(){}
};
int main()
{
CL4 cl4;
return 0;
}
Y2xhc3MgQ0wxIHsgcHVibGljOiBDTDEoaW50KSB7fSB9OwpjbGFzcyBDTDIgOiBwcml2YXRlIHZpcnR1YWwgQ0wxeyBwdWJsaWM6IENMMigpIDogQ0wxKDQyKSB7fSB9OwpjbGFzcyBDTDMgOiBwcml2YXRlIHZpcnR1YWwgQ0wxeyBwdWJsaWM6IENMMygpIDogQ0wxKDQyKSB7fSB9OwoKY2xhc3MgQ0w0IDogcHVibGljIENMMiwgcHVibGljIENMMwp7CnB1YmxpYzoKICAgIENMNCgpIDogQ0wyKCksIENMMygpe30KfTsKCmludCBtYWluKCkKewogICAgQ0w0IGNsNDsKICAgIHJldHVybiAwOwp9Cg==
prog.cpp: In constructor ‘CL4::CL4()’:
prog.cpp:8:24: error: no matching function for call to ‘CL1::CL1()’
CL4() : CL2(), CL3(){}
^
prog.cpp:8:24: note: candidates are:
prog.cpp:1:21: note: CL1::CL1(int)
class CL1 { public: CL1(int) {} };
^
prog.cpp:1:21: note: candidate expects 1 argument, 0 provided
prog.cpp:1:7: note: CL1::CL1(const CL1&)
class CL1 { public: CL1(int) {} };
^
prog.cpp:1:7: note: candidate expects 1 argument, 0 provided