模板函数的输出类型与输入类型不一致时怎么处理?
例如输入类型为int类型,输出为double
template <typename T, typename V>
typename V cal(T,T);
template <typename T, typename V>
typename V cal(T a,T b)
{
return (a+b+0.1)
}
编译时会报错,但如果为:
template <typename T, typename V>
typename V cal(V,T);
template <typename T, typename V>
typename V cal(V a,T b)
{
return (a+b+0.1)
}
又可以生成可执行文件,这是什么原理啊?
好像采纳错了,尴尬。采纳的回答和我问的问题不一致。
果然最后还是要靠自己,看书后发现模板函数好像要求输出类型与第一个参数类型一致,看的是数据结构C++实现