![]() |
1
1
不同的回报类型是一个红鲱鱼。问题在于方法的const重载(即,无论相对返回类型是什么,您都会遇到相同的问题)。这个问题已经记录下来了 here 和 here ,并使用指定的返回类型 not the recommended solution (除了某些版本的msvc之外,大部分时间都可以工作)。 问题是获取重载成员函数(const重载或参数重载)的地址是不明确的,因此需要一些额外的信息。 解决方案是转换函数指针,这样编译器就可以准确地知道您需要哪个重载函数,我找到的最简单的方法是typedef函数指针类型,否则这些行会变得有点讨厌。下面是一个代码示例(编译干净的gcc 4.3.4):
|
![]() |
2
1
对于文档 “绑定表达式创建的lambda函子的返回类型可以作为显式指定的模板参数给定,如下例所示: 绑定(目标函数,绑定参数列表) 所以就跟boost做的一样:绑定。
P.S.未测试 |