`
bcyy
  • 浏览: 1822459 次
文章分类
社区版块
存档分类
最新评论

模板参数推导机制

 
阅读更多

“模板参数推导机制无法推导函数的返回值类型”,不知道这是什么意思。

下面这个例子是不是说明这个问题的?

#include <iostream>
using namespace std;

int Foo()
{
	return 1;
}

template <class T>
T Foobar()
{
	return Foo();
}

int main(int argc, char **argv)
{
	//cout << Foobar() << endl;	// error C2783: “T Foobar(void)”: 未能为“T”推导 模板 参数
	cout << Foobar<int>() << endl;	// 1

	return 0;
}

《STL源码剖析》书中介绍的解决办法是声明内嵌类型,在类中用typedef以“记住”所需的类型。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics