#include <iostream>
using namespace std;
typedef struct { int dummy; } BAZ;
class Foo {
//private:
//Foo(void) {}
public:
Foo(BAZ a) { }
};
class Bar {
private:
Foo foo1;
Foo foo2;
//Bar(void) {}
public:
Bar(BAZ a, BAZ b) : foo1(a), foo2(b) { }
};
int main() {
Foo foo1;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIHN0cnVjdCB7IGludCBkdW1teTsgfSBCQVo7CgpjbGFzcyBGb28gewogIC8vcHJpdmF0ZToKICAgIC8vRm9vKHZvaWQpIHt9CgogIHB1YmxpYzoKICAgIEZvbyhCQVogYSkgeyAgfQp9OwoKY2xhc3MgQmFyIHsKICBwcml2YXRlOgogICAgRm9vIGZvbzE7CiAgICBGb28gZm9vMjsKCiAgICAvL0Jhcih2b2lkKSB7fQoKICBwdWJsaWM6CiAgICBCYXIoQkFaIGEsIEJBWiBiKSA6IGZvbzEoYSksIGZvbzIoYikgeyAgfQp9OwoKaW50IG1haW4oKSB7CglGb28gZm9vMTsKCXJldHVybiAwOwp9
prog.cpp: In function ‘int main()’:
prog.cpp:25:6: error: no matching function for call to ‘Foo::Foo()’
Foo foo1;
^~~~
prog.cpp:10:5: note: candidate: Foo::Foo(BAZ)
Foo(BAZ a) { }
^~~
prog.cpp:10:5: note: candidate expects 1 argument, 0 provided
prog.cpp:5:7: note: candidate: constexpr Foo::Foo(const Foo&)
class Foo {
^~~
prog.cpp:5:7: note: candidate expects 1 argument, 0 provided
prog.cpp:5:7: note: candidate: constexpr Foo::Foo(Foo&&)
prog.cpp:5:7: note: candidate expects 1 argument, 0 provided