C++ compiling Issue
<p>I have been having an issue with an error that has been given to me when I try to compile. The error says, <code>error: no matching function for call to 'Invoice::Invoice(const char [10], double, int)'</code>
It is giving me the error on   </p>

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

<p>Here is my code, first one you will need to save it as Invoice.h It has taken me a while to actually fix most of the errors. Only, this one is the only error I am having. </p>

<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

class Invoice
    {

    public:

        void setDescription(string bagofhammers)
        {
    description = "bag of hammers";
        }

        void setQuantity(int)
        {
            quantity = 1;
        }
        void setPrice (int)
        {
            price = 12.99;
        }

        void ductTape()
        {
            setDescription("Duct Tape");
            setPrice(2.99);
            setQuantity(10);
        }
        string getDescription(string description)
        {
            return description;
        }

        int getQuantity(int quantity)
        {
            return quantity;
        }

        int getPrice(double price)
        {
            return price;
        }

        void print() 
        { 
            std::cout &lt;&lt; "Invoiced item is: " &lt;&lt; getDescription(description) &lt;&lt; endl;

            std::cout &lt;&lt; "Quantity ordered: "&lt;&lt; getQuantity(quantity) &lt;&lt; endl;

            std::cout &lt;&lt; "Each unit's price is: "&lt;&lt; getPrice(price) &lt;&lt; endl;

            std::cout &lt;&lt; "Total Amount: "&lt;&lt; (getPrice(price)*getQuantity(quantity)) &lt;&lt; endl;
        }


    private:
        string description;
        double price;
        int quantity;
    };
</code></pre>

<p>And this one is the program that will use it. </p>

<pre><code>#include &lt;iostream&gt;
#include "Invoice.h"
using namespace std;

int main() {

    string description;
    double price;
    int quantity;

    cout &lt;&lt; "Enter the description: ";
    getline(cin, description);

    cout &lt;&lt; "Enter the unit price: ";
    cin &gt;&gt; price;

    cout &lt;&lt; "Enter the quantity: ";
    cin &gt;&gt; quantity;
    cout &lt;&lt; endl;//a new line

    //create an invoice using default constructor
    Invoice hammers;
    hammers.setDescription(description);
    hammers.setPrice(price);
    hammers.setQuantity(quantity);

    //now print the invoice
    hammers.print();
    cout &lt;&lt; endl;

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

    cout &lt;&lt; "[Invoice for object created using constructor]" &lt;&lt;endl;
    ductTape.print();
    cin.ignore(255,'\n');//ignore any leftover new lines
    cin.get();//pause the output...
    return 0;
}
</code></pre>

<p>I would assume that I screwed something up on the ductTape part. You must keep in mind, this is the first time I'm taking C++. So if you don't mind explaining what is wrong with this, hopefully I can learn from it.</p>
