编写模板函数