[知乎回答] C++ template 为什么不能推导返回值类型?

这个问题是周末在知乎上看到的一个问题,有点意思,俺觉得可以讨论一下。

原问题

C++ template 为什么不能推导返回值类型?

补充说明:

例如:

template<typename T>

T value()

{

// for expample

T* ptr = static_cast<T*>(_ptr);

return *ptr;

}

希望能有透彻一点的解释。如果有什么解决方案(如C++11和boost的一些高级用法),也希望能一并回答出来。

我的答案

讨论之前先说一下,结合上面的补充说明来看,这个问法其实有一点点瑕疵......

知识共享许可协议
本作品由Gu Lu创作,采用知识共享Attribution-NonCommercial-NoDerivatives 4.0 国际许可协议进行许可。