Is it ok to omit the type after the function name when calling a template function?

As an example, consider the function below:

template<typename T>
void f(T var){...}

Is it ok to simply call it like this:

int x = 5;  
f(x);

Or do I have to include the type?

int x = 5;  
f<int>(x);
Edit
Report