第九期"Boost源码剖析:泛型函数指针类boost::fuction..."中的一个错误--作者按
大家好,我是这篇文章的作者,非常对不起,在这篇"Boost源码剖析之:泛型函数指针类boost::function 之生死因果"中有个小小的疏忽,它在94页的“使用invoker的额外好处”一节,右版的中部(右版第二十五行),应该改成这样,以下是错误行附近的几行:
再看看它的第三行的那个typedef:
typedef typename detail::function::get_function_invoker1<
FunctionPtr,R,T0>::type invoker_type;
这里的R,T0是在具现化function模板时决议出的,你写的是function〈int(int)〉,于是R为int,T0为int。所以在本例中,上面的typedef被推导为:
// 第二十五行,改成下面这样,而原文是typedef function_invoker1〈int(*)(int),int,int〉type;
typedef function_invoker1〈int(*)(int,int),int,int〉 invoker_type;
再次说声抱歉!