[自定义模板类型vs模板类型自动推测]
GCC在编译时,先确定看是否人工定义了模板的类型,如果定义了,则看传递的参数是否能转换成定义后的类型,如果没定义,则根据参数确定定义的类型.
1. 是否人工定义了类型.有的话到第2步,否的话到第3步.
2. 参数是不否能转换成定义的类型, 是的话到第4步,否的话第5步.
3. 根据参数推測类型,转到第2步.
4. OK,编译通过.
5. FAIL.编译失败.