title: No instance of overloaded function matches argument list.
body: <p>I'm working on a project for class, but keep getting the error: no instance of overloaded function matches argument list. It is referencing my String classes. What I am trying to do is create a Copy, Concat and Count functions with out using the string class. Any help would be greatly appreciated. </p>
  
  <pre><code>#define _CRT_SECURE_NO_WARNINGS
  #include &lt;iostream&gt;
  #include &lt;string&gt;
  
  using namespace std;
  
  class String
  {
  private:
  char str[100]; 
  char cpy[100];
  public:
  
  static const char NULLCHAR = '\0';
  
  String()
  {
      str[0] = NULLCHAR;
      cpy[0] = NULLCHAR;
  }
  
  String(char* orig, char* cpy)
  {
      Copy(orig, cpy);
  }
  
  void Display()
  {
      cout &lt;&lt; str &lt;&lt; endl;
  }
  
  void Copy(char* orig, char* dest)
  {
  
      while (*orig != '\0') {
          *dest++ = *orig++;
      }
      *dest = '\0';
  
  
  
  }
  
  void Copy(String&amp; orig, String&amp; dest) 
  {
      Copy(orig.str, dest.cpy);
  }
  
  void Concat(char* orig, char* cpy)
  {
      while (*orig)
          orig++;
  
      while (*cpy)
      {
          *orig = *cpy;
          cpy++;
          orig++;
      }
      *orig = '\0';
  
  }
  
  void Concat(String&amp; orig, String&amp; cpy)
  {
      Concat(orig.str, cpy.cpy);
  }
  
  int Length(char* orig)
  {
      int c = 0;
      while (*orig != '\0')
      {
          c++;
          *orig++;
      }
      printf("Length of string is=%d\n", c);
      return(c);
  
  }
  };
  
  int main()
  {
  String s;
  
  s.Copy("Hello");
  s.Display();
  s.Concat(" there");
  s.Display();
  
  String s1 = "Howdy";
  String s2 = " there";
  String s3;
  String s4("This String built by constructor");
  s3.Copy(s1);
  s3.Display();
  s3.Concat(s2);
  s3.Display();
  s4.Display();
  
  
  system("pause");
  return 0;
  }
  </code></pre>