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:

    http://www.cplusplus.com/doc/tutorial/pointers/



  • 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:

    http://www.cplusplus.com/doc/tutorial/pointers/

    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.


Anmelden zum Antworten