class Base
{
Base(int i) {}; //Has a constructor therefore does not get a free noargs constructor
};
class Derived : public Base
{
};
int main()
{
/*Not actually possible because Derived will get a free noargs constructor
which will attempt to invoke the non existant no args constructor of Base.
*/
Derived d;
return 0;
}
ICAgIGNsYXNzIEJhc2UKICAgIHsKICAgICAgICBCYXNlKGludCBpKSB7fTsgLy9IYXMgYSBjb25zdHJ1Y3RvciB0aGVyZWZvcmUgZG9lcyBub3QgZ2V0IGEgZnJlZSBub2FyZ3MgY29uc3RydWN0b3IKICAgIH07CgogICAgY2xhc3MgRGVyaXZlZCA6IHB1YmxpYyBCYXNlCiAgICB7CiAgICB9OwoKICAgIGludCBtYWluKCkKICAgIHsKICAgICAgICAgLypOb3QgYWN0dWFsbHkgcG9zc2libGUgYmVjYXVzZSBEZXJpdmVkIHdpbGwgZ2V0IGEgZnJlZSBub2FyZ3MgY29uc3RydWN0b3IKICAgICAgICAgICB3aGljaCB3aWxsIGF0dGVtcHQgdG8gaW52b2tlIHRoZSBub24gZXhpc3RhbnQgbm8gYXJncyBjb25zdHJ1Y3RvciBvZiBCYXNlLgogICAgICAgICAqLwogICAgICAgICBEZXJpdmVkIGQ7IAoKICAgICAgICAgcmV0dXJuIDA7CiAgICB9
prog.cpp: In constructor ‘Derived::Derived()’:
prog.cpp:6:11: error: no matching function for call to ‘Base::Base()’
prog.cpp:6:11: note: candidates are:
prog.cpp:3:9: note: Base::Base(int)
prog.cpp:3:9: note: candidate expects 1 argument, 0 provided
prog.cpp:1:11: note: Base::Base(const Base&)
prog.cpp:1:11: note: candidate expects 1 argument, 0 provided
prog.cpp: In function ‘int main()’:
prog.cpp:15:18: note: synthesized method ‘Derived::Derived()’ first required here