程序中写过这样几个函数:

}

}

}

写的时候并未觉得异样,昨天再次查看的时候才发现三个函数语义重复,仅返回值不同,于是想到模板函数。想当然地写成了这样:

}

编译时未报错,但在调用时

1模板参数仅作为函数的返回值unsigned short us = extractNumber(element);

会出现编译错误,提示无法为“T”推导模板参数。改成如下模样即可解决问题:

1模板参数仅作为函数的返回值unsigned short us = extractNumber<unsigned short>(element);

相关文章: