Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

over 7 years ago

Language

Compiler

Options

Author

anonymous

over 7 years ago

$
prog.cc:17:28: warning: unused parameter 'callable' [-Wunused-parameter]
  void Register(Callable &&callable) {
                           ^
prog.cc:18:5: error: static_assert failed due to requirement 'std::is_convertible_v<void (*&&)(int), std::function<Signature> >' "Wrong Signature!"
    static_assert(std::is_convertible_v<Callable&&, std::function<Signature>>, "Wrong Signature!");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:31:7: note: in instantiation of function template specialization 'A::Register<void (*)(int)>' requested here
    a.Register(&f2);
      ^
prog.cc:18:5: error: static_assert failed due to requirement 'std::is_convertible_v<X2 &&, std::function<Signature> >' "Wrong Signature!"
    static_assert(std::is_convertible_v<Callable&&, std::function<Signature>>, "Wrong Signature!");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:32:7: note: in instantiation of function template specialization 'A::Register<X2>' requested here
    a.Register(X2{});
      ^
prog.cc:18:5: error: static_assert failed due to requirement 'std::is_convertible_v<(lambda at prog.cc:33:16) &&, std::function<Signature> >' "Wrong Signature!"
    static_assert(std::is_convertible_v<Callable&&, std::function<Signature>>, "Wrong Signature!");
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:33:7: note: in instantiation of function template specialization 'A::Register<(lambda at prog.cc:33:16)>' requested here
    a.Register([](int) {});
      ^
1 warning and 3 errors generated.
Exit Code:
1