我查看文档和源代码,但无法弄清楚如何获取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可以绑定仿函数。以上不起作用,因为functor没有value_type。就此而言,就返回值而言,是否有一元/二元仿函数的标准接口。
解决方案:它应该是result_type
。对于二元函数,也等效定义为argument_type
和first/second_argument_type
由于
答案 0 :(得分:3)
卫生署。没关系,它是result_type
而不是value_type
。我应该删除这个问题吗?