// Uncomment this line will fix the issue. // template<typename Value_t> void b(Value_t value) template<typename Value_t> void a(Value_t value) { b(value); } template<typename Value_t> void b(Value_t value) { } void foo(int y) { a(y); }