2010-04-29 107 views
2

我查看文档和源代码,但无法弄清楚如何获得boost绑定函数的返回值类型。 我试图做到以下几点:C++ Boost绑定值类型

35 template<typename T,size_t N, class F> 
36 boost::array<typename F::value_type, N> make_array(T (&input)[N], F unary) { 
37  boost::array<typename F::value_type, N> array; 
38  std::transform(input, input + N, array.begin(), unary); 
39  return array; 
40 } 

其中F可以绑定仿函数。上述不起作用,因为函数没有value_type。就此而言,就返回值而言,是否存在一元/二元仿函数的标准接口?

解决方法:应该是result_type。也相当于定义是argument_typefirst/second_argument_type二进制功能

由于

回答

3

卫生署。没关系,它是result_type而不是value_type。我应该删除这个问题吗?

+0

没什么可以做的。也许改变标题。不确定OP的投票结果只是票数,还是可以投票结束3500。 – Potatoswatter 2010-04-29 23:52:45