Keine Instanz von überladene Funktion entspricht argument-Liste.
Arbeite ich an einem Projekt für die Klasse, aber erhalte die Fehlermeldung: keine Instanz von überladene Funktion entspricht argument-Liste. Es ist die Referenzierung von meiner String-Klassen. Was ich versuche zu tun ist, erstellen Sie eine Kopie, Concat-Funktion und Count-Funktionen mit mit der string-Klasse. Jegliche Hilfe würde sehr geschätzt werden.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
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 << str << endl;
}
void Copy(char* orig, char* dest)
{
while (*orig != '\0') {
*dest++ = *orig++;
}
*dest = '\0';
}
void Copy(String& orig, String& 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& orig, String& 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;
}
- Die Anzahl der argument nicht mit zu
Copy
undConcat
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es sieht aus wie Ihre
Copy
undConcat
Funktionen, die jeweils zwei Parameter, noch passieren Sie Ihnen sowohl einen einzelnen parameter. Wenn Sie möchten, kopieren Sie Sie in ein String-Objekt, muss der code Aussehen:Wie die Fehlermeldung sagt, Es gibt keine version der Konstruktor für Ihre Klasse "String" mit einem einzigen parameter. Sie haben einen Standard-Konstruktor und einen, der zwei Parameter nimmt.
Müssen Sie definieren, welche mit einem einzigen parameter und initialisiert die str
String s4("Dieser String Baujahr von-Konstruktor");
diese Aussage muss Bau-Funktion
String(char *);