I have following code:
void myfunc() { } template <typename T> void check() { } template <typename T> void checkT (T) { check<T>(); } and so if I have in main function a call to checkT(myfunc) then that compiles, but if I have check<myfunc>() that doesn't work although it directly calls the first version. Can you please explain why it is so? The error is
error: no matching function for call to 'check()'
Thanks!