Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

over 4 years ago

Language

C++

Compiler

gcc HEAD 12.0.0 20210503 (experimental)

Options
Warnings
Boost 1.73.0
C++2b(GNU)
no pedantic

Author

anonymous

over 4 years ago

$ g++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.73.0/gcc-head/include -std=gnu++2b
prog.cc: In function 'int main()':
prog.cc:26:48: error: call of overloaded 'HasMakeNullFunction<Dog>()' is ambiguous
   26 |     constexpr bool b = HasMakeNullFunction<Dog>(); // True
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~^~
prog.cc:12:16: note: candidate: 'constexpr decltype ((declval<T>().makeNull(), bool())) HasMakeNullFunction() [with T = Dog; decltype ((declval<T>().makeNull(), bool())) = bool]'
   12 | constexpr auto HasMakeNullFunction() -> decltype(std::declval<T>().makeNull(), bool())
      |                ^~~~~~~~~~~~~~~~~~~
prog.cc:18:16: note: candidate: 'constexpr bool HasMakeNullFunction(void*) [with T = Dog]'
   18 | constexpr bool HasMakeNullFunction(void* p = nullptr)
      |                ^~~~~~~~~~~~~~~~~~~
prog.cc: In instantiation of 'constexpr bool HasMakeNullFunction(void*) [with T = int]':
prog.cc:27:49:   required from here
prog.cc:18:42: warning: unused parameter 'p' [-Wunused-parameter]
   18 | constexpr bool HasMakeNullFunction(void* p = nullptr)
      |                                    ~~~~~~^~~~~~~~~~~
prog.cc:26:20: warning: unused variable 'b' [-Wunused-variable]
   26 |     constexpr bool b = HasMakeNullFunction<Dog>(); // True
      |                    ^
prog.cc:27:20: warning: unused variable 'b2' [-Wunused-variable]
   27 |     constexpr bool b2 = HasMakeNullFunction<int>(); // False
      |                    ^~
Exit Code:
1