char an Funktion übergeben
-
Hallo weiss wer wie ich eine char Variable an eine Funktion übergeben kann ?
#include <iostream> #include <fstream> using namespace std; void funktion( char var[2] ); int main() { char abc[256]; cout<<"Eingabe: "; cin.getline(abc,256); funktion ( abc ); system("PAUSE"); } void funktion(char var ) { cout<<"Ausgabe: "; cout<< var <<endl; }
So bekomme ich immer
[Linker Fehler] Unresolved external 'funktion(char *)'
-
Meinst du so?
void funktion( const char* var )
-
Dein Prototyp und deine Implementation stimmen nicht überein! Schreib bei beidem mal "char *var", dann klappt es. Und mach dich mal schlau, was char (einzelnes Zeichen) und was char* (potenzielle Zeichenkette
) ist.
-
Danke jetzt funktioniert es.
Aber wo finde ich Infos dazu fällt das in die Kategorie Pointer ?
Weil dann hätte ich schon hier was gefunden:
-
blup schrieb:
Danke jetzt funktioniert es.
Aber wo finde ich Infos dazu fällt das in die Kategorie Pointer ?
Weil dann hätte ich schon hier was gefunden:
Ja, kannste dir durchlesen. Ein char-Pointer zeigt halt üblicherweise auf ein char-Array, also einen String, wie man ihn in C benutzt (wird da auch erwähnt). In C++ geht das natürlich auch. Hier gibt es aber auch eine Alternative: std::string. Mit std::strng bekommst du eine String-Klasse, die mehr den typischen String-Typen aus anderen Sprachen ähnelt und einfacher zu benutzen ist. Du kannst ja auch mal danach suchen. Trotzdem finde ich, dass man sich auch mit char-Arrays auseinandersetzen sollte, da man früher oder später sowieso in die Situation kommt, wo man sich damit befassen muss.