【发布时间】:2011-05-18 22:12:57
【问题描述】:
可能的重复:
Function overloading by return type?
Puzzle: Overload a C++ function according to the return value
因为我有一个库,它以以下形式公开了一堆函数:
bool GetVal();
double GetVal();
int GetVal();
long GetVal();
//So on.
现在我必须包装这些。我宁愿不再重写同一组函数。我想做类似的事情
template<class T>
T GetVal(){}
但我似乎无法让它工作。有什么想法吗?
【问题讨论】:
-
除了上面的链接,还有stackoverflow.com/questions/226144/…等一些
-
你是说你有一个已经被返回类型重载的库?这听起来不太可能
-
@jalf:我的猜测是函数在不同的命名空间中。
-
@Als:也许吧。或者他们实际上有不同的名字。我们不知道,但就目前而言,这个问题意味着他有一个图书馆,它已经做了他说他不能做的事情(而且这是不可能的),然后在这个前提下,他试图完全做某事通过模板专业化可以实现不同(根据
T的类型将通用GetVal<T>()映射到不同的实现)
标签: c++ types return overloading