程序没有编译的C++问题

问题描述:

我一直在我的硬件上工作了一段时间。它有很多固定和所有。不过,我穿过一个恼人的问题来了,在这里它是什么:程序没有编译的C++问题

error: no matching function for call to 'Invoice::Invoice(const char [10], double, int)' 


//create an invoice using constructor with parameters 
    Invoice ductTape("Duct Tape",2.99,10); 

这是我已经为它,但它不承认它。

void ductTape() 
     { 
      setDescription("Duct Tape"); 
      setPrice(2.99); 
      setQuantity(10); 
     } 
+0

你不需要为你的函数名称做void Invoice :: ductTape()吗? – Michael

+0

您的'发票'类没有接受给定参数的构造函数。另外,你有一个名为'ductTape()'的方法,它看起来没有任何用处(我怀疑你的'Invoice'类需要一个'ductTape()'方法)。 – dreamlax

error: no matching function for call to 'Invoice::Invoice(const char [10], double, int)' 

如果你读了错误消息,它说,你需要在你Invoice类,它的参数const char [10]double随后int定义构造函数。

因此,您需要创建一个名为Invoice的类并创建构造函数。

代码行Invoice ductTape("Duct Tape",2.99,10);意味着您正在声明一个名为ductTape的变量,因此您的函数ductTape在此上下文中没有意义。