https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66443
Bug ID: 66443
Summary: Virtual inheritance vs. non-default constructors
Product: gcc
Version: 5.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vpozdyayev at gmail dot com
Target Milestone: ---
This code has become valid in C++14, see
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1611 (and #1658).
Current result:
main.cpp: In constructor 'C::C()':
main.cpp:13:15: error: use of deleted function 'B::B()'
...
class A {
public:
A( int ) { }
};
class B: virtual public A {
public:
virtual void do_something() = 0;
};
class C: public B {
public:
C(): A( 1 ) { }
virtual void do_something() { }
};
int main() {
C c;
return 0;
}