我是新来的模板编程。我有这样的问题模板编程
A.process(B)
其中A是一个模板参数。
我还可以将B设置为模板参数吗?通过这种方式,我可以让不同类型的A对象处理不同类型的对象B. B通常不会在运行时多态使用。
谢谢。
我是新来的模板编程。我有这样的问题模板编程
A.process(B)
其中A是一个模板参数。
我还可以将B设置为模板参数吗?通过这种方式,我可以让不同类型的A对象处理不同类型的对象B. B通常不会在运行时多态使用。
谢谢。
如果我理解你的需求,然后是 - 你可以这样做:
template <typename A, typename B>
void fn(A& a, B& b)
{
...other code...
a.process(b);
...other code...
}
我不确定这是否是要求。国际海事组织,他/她想要一个成员函数模板'template
@Oli:“也可以通过A参数化” - 这是双重调度吗?如果没有,我敢肯定我不会是那个给出答案的人:-)。 – 2011-04-27 09:10:09
这是我的理解,是的! – 2011-04-27 09:59:51
这个问题很可能被关闭,因为它是非常模糊......请尽量会更加精确;也许包括一些代码,在这些代码中,您试图按照自己的意愿去做,并解释哪些方面可以正常工作或无法正常工作,或者解决了编译器错误。你也可以尝试提供一个最小程序的其余部分来使用这个功能:'A.process(B)'不会传达太多,因为有些语句是矛盾的(例如罚款......将B设置为模板参数? ,这意味着B是一个积分常数,但稍后你会谈到“类型的对象B”,表明B是一种类型)。 – 2011-04-27 08:48:28