程序没有编译的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);
}
答
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
在此上下文中没有意义。
你不需要为你的函数名称做void Invoice :: ductTape()吗? – Michael
您的'发票'类没有接受给定参数的构造函数。另外,你有一个名为'ductTape()'的方法,它看起来没有任何用处(我怀疑你的'Invoice'类需要一个'ductTape()'方法)。 – dreamlax