Why does the compiler bot understand this? get() is a function defined in type K with a template argument. In this case, I want to use T as the argument, but the compiler does not recognize this. When I use the following instead, it works (but it's not right, since get is a template function):