Author
anonymous
about 8 years ago
Language
Compiler
Options
Author
anonymous
about 8 years ago
$ prog.cc: In instantiation of 'struct Test<int>':
prog.cc:35:15: required from here
prog.cc:24:88: error: ambiguous template instantiation for 'struct Base<int, void, false>'
template< typename T, typename F = void, bool I = ::std::is_class< T >::value > struct Test:
^~~~
prog.cc:6:39: note: candidates are: template<class T, bool I> struct Base<T, void, I> [with T = int; bool I = false]
template< typename T, bool I > struct Base< T, void, I > {
^~~~~~~~~~~~~~~~~~
prog.cc:18:43: note: template<class T, class F> struct Base<T, F, false> [with T = int; F = void]
template< typename T, typename F > struct Base< T, F, false > {
^~~~~~~~~~~~~~~~~~~
prog.cc:24:88: error: invalid use of incomplete type 'struct Base<int, void, false>'
template< typename T, typename F = void, bool I = ::std::is_class< T >::value > struct Test:
^~~~
prog.cc:4:51: note: declaration of 'struct Base<int, void, false>'
template< typename T, typename F, bool I > struct Base;
^~~~
prog.cc: In function 'int main()':
prog.cc:35:15: warning: unused variable 't1' [-Wunused-variable]
Test< int > t1;
^~
Exit Code:
1