Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

about 8 years ago

Language

Compiler

Options

Author

anonymous

about 8 years ago

$
prog.cc: In function 'int main()':
prog.cc:39:10: error: call of '(overloader<std::reference_wrapper<main()::<lambda(char)> >, std::reference_wrapper<main()::<lambda(int)> > >) (char)' is ambiguous
     o('a'); // BOOM
          ^
In file included from /opt/wandbox/gcc-head/include/c++/7.0.1/bits/std_function.h:44:0,
                 from /opt/wandbox/gcc-head/include/c++/7.0.1/functional:58,
                 from prog.cc:4:
/opt/wandbox/gcc-head/include/c++/7.0.1/bits/refwrap.h:339:2: note: candidate: typename std::result_of<_Tp&(_Args&& ...)>::type std::reference_wrapper<_Tp>::operator()(_Args&& ...) const [with _Args = {char}; _Tp = main()::<lambda(char)>; typename std::result_of<_Tp&(_Args&& ...)>::type = void]
  operator()(_Args&&... __args) const
  ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/7.0.1/bits/refwrap.h:339:2: note: candidate: typename std::result_of<_Tp&(_Args&& ...)>::type std::reference_wrapper<_Tp>::operator()(_Args&& ...) const [with _Args = {char}; _Tp = main()::<lambda(int)>; typename std::result_of<_Tp&(_Args&& ...)>::type = void]
prog.cc:40:8: error: call of '(overloader<std::reference_wrapper<main()::<lambda(char)> >, std::reference_wrapper<main()::<lambda(int)> > >) (int)' is ambiguous
     o(0);
        ^
In file included from /opt/wandbox/gcc-head/include/c++/7.0.1/bits/std_function.h:44:0,
                 from /opt/wandbox/gcc-head/include/c++/7.0.1/functional:58,
                 from prog.cc:4:
/opt/wandbox/gcc-head/include/c++/7.0.1/bits/refwrap.h:339:2: note: candidate: typename std::result_of<_Tp&(_Args&& ...)>::type std::reference_wrapper<_Tp>::operator()(_Args&& ...) const [with _Args = {int}; _Tp = main()::<lambda(char)>; typename std::result_of<_Tp&(_Args&& ...)>::type = void]
  operator()(_Args&&... __args) const
  ^~~~~~~~
/opt/wandbox/gcc-head/include/c++/7.0.1/bits/refwrap.h:339:2: note: candidate: typename std::result_of<_Tp&(_Args&& ...)>::type std::reference_wrapper<_Tp>::operator()(_Args&& ...) const [with _Args = {int}; _Tp = main()::<lambda(int)>; typename std::result_of<_Tp&(_Args&& ...)>::type = void]
Exit Code:
1