#include <functional> void test(std::function<void(int)> f) {} void test(std::function<int(int)> f) {} int main() { test([] (int x) -> int { return x; }); }
Standard input is empty
prog.cpp:8:2: error: call to 'test' is ambiguous test([] (int x) -> int { return x; }); ^~~~ prog.cpp:3:6: note: candidate function void test(std::function<void(int)> f) {} ^ prog.cpp:4:6: note: candidate function void test(std::function<int(int)> f) {} ^ 1 error generated.
Standard output is empty