第三章 深度探索元函数 (1)[17]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 pongba 的 blog

到目前为止,看起来我们已经有了一个解决方案,像这样:

 

#include <boost/mpl/transform.hpp>

 

template <class t, class d1, class d2>

quantity<

    t

  , typename mpl::transform<d1,d2,mpl::plus>::type

> 

operator*(quantity<t,d1> x, quantity<t,d2> y) { ... }

 

但是很抱歉,这还不够!现在如果你试图使用这个operator*,你会得到一个编译错误,原因就在于你将mpl::plus直接传给了mpl::transform,而(mpl)规定却说元函数的参数必须是类型,但mpl::plus却不是类型,而是一个类模板。所以我们必须通过某种方式让类似plus这样的元函数满足这种元数据(

本文关键:第三章 深度探索元函数 (1)
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top