prog.cpp: In function ‘int main()’:
prog.cpp:24:23: error: no match for call to ‘(hoge) (int_to_type<2u>)’
Hoge(int_to_type<2>());
^
prog.cpp:11:8: note: candidate is:
struct hoge {
^
prog.cpp:13:6: note: template<int N> int hoge::operator()(int_to_type<N>)
int operator ()(int_to_type<N>)
^
prog.cpp:13:6: note: template argument deduction/substitution failed:
prog.cpp:24:23: note: mismatched types ‘int’ and ‘#‘integer_cst’ not supported by dump_type#<type error>’
Hoge(int_to_type<2>());
^
prog.cpp:24:23: note: ‘int_to_type<2u>’ is not derived from ‘int_to_type<N>’