invalid conversion from char* to char
-
Hallo!
Immer, wenn ich versuche über eine Funktion oder Klassenmethode den Rückgabewert eines char auszugeben, erhalte ich immer diese Fehlermeldung:
invalid conversion from char* to char
Beispielcode:
char GetChar(char n[100]) { return n; } [...} char t[100] = "Test"; cout << GetChar(t);
Ich hoffe ihr habt einen Rat für mich.
Danke.
-
char ist ein zeichen...char[100] ist eine zeichenkette....!!!!
-
char* ist ein Zeiger auf ein Zeichen (bzw. eine Zeichenkette), char ist ein einzelnes Zeichen - d.h. du mußt den Zeiger dereferenzieren, um auf seinen Inhalt zugreifen zu können:
char first(char n[100]) /* btw, bei Parametern ist die Arraygröße bedeutungslos "char* n" ist äquivalent zu "char n[...]" */ { return *n; } char nth(char* n, int i) { return n[i]; }
-
Dann zeigt er mir aber immer nur ein Zeichen an. Ich will aber das er die ganze Zeichenkette als Rückgabewert ausgibt.
-
Dann mußt du den Rückgabetyp ändern in char* - char IST ein einzelnes Zeichen.
-
http://www.volkard.de/vcppkold/inhalt.html
schlag mal unter Pointer/Zeiger nach
-
Danke!
Jetzt habe ich es doch.