prog.cpp: In function 'int main()':
prog.cpp:16:40: error: invalid use of incomplete type 'struct TypeCheck<__gnu_cxx::__normal_iterator<int*, std::vector<int> > >'
auto check = TypeCheck<decltype(val)>{};
^
prog.cpp:8:8: note: declaration of 'struct TypeCheck<__gnu_cxx::__normal_iterator<int*, std::vector<int> > >'
struct TypeCheck;
^
prog.cpp:22:40: error: invalid use of incomplete type 'struct TypeCheck<std::_Bit_iterator>'
auto check = TypeCheck<decltype(val)>{};
^
prog.cpp:8:8: note: declaration of 'struct TypeCheck<std::_Bit_iterator>'
struct TypeCheck;
^
prog.cpp:28:40: error: invalid use of incomplete type 'struct TypeCheck<int*>'
auto check = TypeCheck<decltype(val)>{};
^
prog.cpp:8:8: note: declaration of 'struct TypeCheck<int*>'
struct TypeCheck;
^
prog.cpp:34:40: error: invalid use of incomplete type 'struct TypeCheck<bool*>'
auto check = TypeCheck<decltype(val)>{};
^
prog.cpp:8:8: note: declaration of 'struct TypeCheck<bool*>'
struct TypeCheck;
^