【发布时间】:2015-07-01 19:07:50
【问题描述】:
以下看起来不像是部分特化(但是不能在模板化函数上发生)。 Plus 函数不会仅通过返回类型来重载。下面的代码是怎么回事??
#include <iostream>
#include <string>
#include <vector>
template<typename T>
T foo() {
std::cout << "first";
return T();
}
template<typename T, typename U>
std::pair<T,U> foo() {
std::cout << "second";
return std::make_pair<T,U>(T(),U());
}
int main()
{
foo<int>();
foo<int,char>();
}
【问题讨论】:
-
你有两个不同的模板,一个有一个参数,另一个有两个(没有
foo重载)。
标签: c++