写的时候并未觉得异样,昨天再次查看的时候才发现三个函数语义重复,仅返回值不同,于是想到模板函数。想当然地写成了这样:
编译时未报错,但在调用时
1
unsigned short us = extractNumber(element);
会出现编译错误,提示无法为“T”推导模板参数。改成如下模样即可解决问题:
1
unsigned short us = extractNumber<unsigned short>(element);
相关文章: