Hallo!
Im Zuge eines c++-Kurses stehe ich vor folgender Aufgabe:
Erstellung einer String-Klasse, die einen Char-Vektor nimmt und daraus einen String macht.
Der Aufruf in der main()-Methode sieht so aus:
char cv1[6];
cv1[0] = 'a';
cv1[1] = 'b';
String s2 = new String(cv1);
Der Konstruktor meiner String-Klasse sieht su aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
String( char cv1[] )
{
init_from_char_vector(cv1);
}
void init_from_char_vector( char cv1[] )
{
int length = 0;
while( cv1[length] != 0 )
{
++length;
}
// wenn der Vektor zu lang ist wird eine Fehlermeldung erzeugt.
if( length > MAXSTRINGLENGTH ) {
//cout << "Fehler: Charvektor zu gross!" << "\n";
throw 1;
}
for(int i = 0; i < length; i++ )
{
internal_string[i] = cv1[i];
}
}
Ich bekomme aber eine Fehlermeldung:
Quote1>...stringtest.cpp(21) : error C2440: 'Initialisierung': 'String *' kann nicht in 'String' konvertiert werden
1> Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
Hat wer Rat?
Grüße, pktm