这是错误的coliru: http://coliru.stacked-crooked.com/a/a03c61dc0c33c94b
我有一个带有两个模板参数的类型,如下所示:
template <typename T, typename U> class DoubleTemplate {};
在结构中,我有上述类型的成员,如下所示:
namespace test
{
struct adaptee
{
DoubleTemplate<int, int> dt;
};
}
当我尝试像这样调用Boost适应函数时:
BOOST_FUSION_ADAPT_STRUCT( test::adaptee,
(DoubleTemplate<int, int>, dt) )
它抱怨传入了3个参数(我猜它会看到这三个参数:DoubleTemplate<int
,int>
,dt
)
如果我typedef
DoubleTemplate
类型并且在Boost适应调用中使用较短的名称,它可以正常工作,但这需要一个令人讨厌的10个左右typedef
代码。
是否有一种简单的方法来传递双模板?我觉得我在这里错过了一个简单的答案。谢谢你的帮助。