c语言有模板函数吗为什么