g ++表示在调用订单的复制构造函数的主程序中存在一行时,调用(Order)(Order &)中没有匹配项。为什么这个拷贝构造函数不工作?
Order.h-它包含类顺序
class Order
{
private:
int orderNo;
public:
Order()
{}
//Copy Constructor
Order(Order &o)
{
orderNo = o.putOrderNo();
}
Order(int i)
{
orderNo = i;
}
};
的示数的代码是在主文件 -
bool setCurrentOrder(Order o)
{
CurrentOrder(o); //currentOrder is a global var defined elsewhere.
//after this, there are some comparisons to determine
//whether the object was copied, then true or false is returned.
}
编译器拒绝接受线 “CurrentOrder(O)”,其将o的详细信息复制到名为CurrentOrder的另一个Order类对象中。 我是否必须重载=运算符还是有其他方法可以解决这个问题?
编辑
此代码已经过时了,因为我已经解决了这个问题,我也重新设计这一点,其他的代码,所以我现在有一些新的,我应约快问!
请研究发布指南,你应该提取一个最小的例子,格式一致等。 –
嗯,好的。下次我会记住这一点。然而,在这里,我觉得源文件足够小,这就是我为什么这么做的原因。 – Raghav
这不是关于绝对大小,而是关注问题的本质。许多问题在这里甚至被问到之前都会这样回答。 –