title: I keep getting a 'no match for call to' error
body: <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  
  using namespace std;
  
  
  // Turns a digit between 1 and 9 into its english name
  // Turn a number into its english name
  
  string int_name(int n)
  {
  
    string digit_name;
    {
      if (n == 1) return "one";
       else if (n == 2) return "two";
       else if (n == 3) return "three";
       else if (n == 4) return "four";
       else if (n == 5) return "five";
       else if (n == 6) return "six";
       else if (n == 7) return "seven";
       else if (n == 8) return "eight";
       else if (n == 9) return "nine";
  
      return "";
    }
  
  
    string teen_name;
    {
      if (n == 10) return "ten";
       else if (n == 11) return "eleven";
       else if (n == 12) return "twelve";
       else if (n == 13) return "thirteen";
       else if (n == 14) return "fourteen";
       else if (n == 14) return "fourteen";
       else if (n == 15) return "fifteen";
       else if (n == 16) return "sixteen";
       else if (n == 17) return "seventeen";
       else if (n == 18) return "eighteen";
       else if (n == 19) return "nineteen";
  
      return "";
    }
  
  
    string tens_name;
    {
      if (n == 2) return "twenty";
       else if (n == 3) return "thirty";
       else if (n == 4) return "forty";
       else if (n == 5) return "fifty";
       else if (n == 6) return "sixty";
       else if (n == 7) return "seventy";
       else if (n == 8) return "eighty";
       else if (n == 9) return "ninety";
  
      return "";
    }
  
    int c = n; // the part that still needs to be converted
    string r; // the return value
  
    if (c &gt;= 1000)
    {
       r = int_name(c / 1000) + " thousand";
       c = c % 1000;
    }
  
    if (c &gt;= 100)
    {
       r = r + " " + digit_name(c / 100) + " hundred";
       c = c % 100;
    }
  
    if (c &gt;= 20)
    {
       r = r + " " + tens_name(c /10);
       c = c % 10;
    }
  
    if (c &gt;= 10)
    {
       r = r + " " + teen_name(c);
       c = 0;
    }
  
    if (c &gt; 0)
       r = r + " " + digit_name(c);
  
    return r;
  }
  
  int main()
  {
    int n;
    cout &lt;&lt; endl &lt;&lt; endl;
    cout &lt;&lt; "Please enter a positive integer: ";
    cin &gt;&gt; n;
    cout &lt;&lt; endl;
    cout &lt;&lt; int_name(n);
    cout &lt;&lt; endl &lt;&lt; endl;
  
    return 0;
  }
  </code></pre>
  
  <p>I Keep getting this Error code:</p>
  
  <blockquote>
    <p>intname2.cpp: In function âstd::string
    int_name(int)â:<br>
    intname2.cpp:74: error: no match for
    call to â(std::string) (int)â<br>
    intname2.cpp:80: error: no match for
    call to â(std::string) (int)â<br>
    intname2.cpp:86: error: no match for
    call to â(std::string) (int&amp;)â<br>
    intname2.cpp:91: error: no match for
    call to â(std::string) (int&amp;)â</p>
  </blockquote>