namespace adl { struct foo {}; void f(foo) {} } struct base { void f(int) {} }; struct derived : base { void blah() { adl::foo obj = {}; f(obj); // ADL greift hier nicht --> Fehler } };
Standard input is empty
prog.cpp: In member function ‘void derived::blah()’:
prog.cpp:13:8: error: no matching function for call to ‘derived::f(adl::foo&)’
f(obj); // ADL greift hier nicht --> Fehler
^
prog.cpp:13:8: note: candidate is:
prog.cpp:7:7: note: void base::f(int)
void f(int) {}
^
prog.cpp:7:7: note: no known conversion for argument 1 from ‘adl::foo’ to ‘int’
Standard output is empty