boost :: bind实现中的重载决策

时间:2016-05-03 10:08:34

标签: c++ boost overload-resolution

// bind.hpp
template< class A1 > class list1: private storage1< A1 >
{

    template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
    {
        return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
    }

    template<class F, class A> void operator()(type<void>, F & f, A & a, int)
    {
        unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
    }
}

为什么在int中添加参数long / operator()

如果我删除这些int / long,仍然会通过编译。

0 个答案:

没有答案