关于C++模板参数省略的问题

麻烦各位大神看一下这道题,我看不懂这道题的解析,C++ Primer Plus里面也没有讲相关的内容,我需要一些例子来理解这道题,谢谢。
图片说明

图片说明

比如说
#include <iostream>
using namespace std;

template <typename T>
void foo(T a)
{
cout << a << endl;
}

int main()
{
   foo<int>(123);
   return 0;
}
因为可以根据123推断出来T是int
所以也可以写
foo<>(123);
又因为<>是空的,连<>都可以不要
foo(123);
就可以了。

额,印刷错误,应给问的是不正确的是选D,我一开始看都蒙了。