template< typename >void fun();
正常的定义:template< typename >void fun(){};
正常的显示具体化:template<>void fun5< int >(){}
可是,定义的时候这样也可以:template< typename >void fun< int >(){};为什么可以在定义的后面加上< int >这样难道不矛盾吗?