namespace foo {
namespace foo {
typedef int Foo;
}
struct Foo {
int x;
Foo( foo::Foo const& o ):x(o.x) {}
void test() {
Foo f( 7 );
}
};
}
int main() {
foo::Foo f;
f.test();
}
bmFtZXNwYWNlIGZvbyB7CiAgICBuYW1lc3BhY2UgZm9vIHsKICAgICAgICB0eXBlZGVmIGludCBGb287CiAgICB9CiAgICBzdHJ1Y3QgRm9vIHsKICAgICAgICBpbnQgeDsKICAgICAgICBGb28oIGZvbzo6Rm9vIGNvbnN0JiBvICk6eChvLngpIHt9CiAgICAgICAgdm9pZCB0ZXN0KCkgewogICAgICAgICAgICBGb28gZiggNyApOwogICAgICAgIH0KICAgIH07Cn0KCmludCBtYWluKCkgewogICAgZm9vOjpGb28gZjsKICAgIGYudGVzdCgpOwp9
prog.cpp: In constructor ‘foo::Foo::Foo(const Foo&)’:
prog.cpp:7:38: error: request for member ‘x’ in ‘o’, which is of non-class type ‘const Foo {aka const int}’
prog.cpp: In function ‘int main()’:
prog.cpp:15:14: error: no matching function for call to ‘foo::Foo::Foo()’
prog.cpp:15:14: note: candidates are:
prog.cpp:7:9: note: foo::Foo::Foo(const Foo&)
prog.cpp:7:9: note: candidate expects 1 argument, 0 provided
prog.cpp:5:12: note: constexpr foo::Foo::Foo(const foo::Foo&)
prog.cpp:5:12: note: candidate expects 1 argument, 0 provided
prog.cpp:5:12: note: constexpr foo::Foo::Foo(foo::Foo&&)
prog.cpp:5:12: note: candidate expects 1 argument, 0 provided