模板参数仅作为函数的返回值

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

extractUInt

extractUShort

extractByte

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

Code

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

1unsigned short us = extractNumber(element);

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

1unsigned short us = extractNumber<unsigned short>(element);
posted @ 2009-10-14 12:14  tonyyang132  阅读(2512)  评论(0编辑  收藏  举报