"" und chars übergeben



  • Hallo,
    ich habe eine Funktion, die man so im Programm aufruft:

    MeineFunktion(Test, Lalala);
    

    Das Problem ist das z.B. Test in eine char kommen soll, doch das funktioniert nicht da er nicht weiß was z.B. Test ist, wie erklär ich dem Compiler das ohne gleich 50 Zeilen ins Programm zuschreiben?

    Bye

    PS: Die Funktion:

    void MeineFunktion(char eins[], char zwei[])
    {
    
    // Code
    
    }
    


  • Hab vergessen zu fragen wie kann ich z.B. die zweite char in meinen Programm in "" schreiben also "Lalala"


  • Mod

    Du brauchst Hilfe?
    Besonders Punkte 6 und 7 und der verlinkte Artikel. Deine Frage ist absolut unverständlich.



  • Problem 1:

    myfunc.h

    void (char myf1[], char myf2[])
    {
    
    //Code
    
    }
    

    main.cpp

    #include myfunc.h
    int main (void)
    {
    
    myfunc(Test, La); //Fehler: Das Programm weiß nicht was Test und La sind
    
    return 0;
    }
    

    Wie kann ich den Fehler beheben? Ohne viele Zeilen bei main.cpp reinzuschreiben?

    Problem 2:

    main.cpp

    #include myfunc.h
    int main (void)
    {
    
    myfunc(Test, "La");
    
    return 0;
    }
    

    Wie kann ich La in "" schreiben? Ohne Fehler?

    Besser erklärt? 🙂



  • 1. Du musst schon irgendwie sagen, was Test und La sein sollen...?
    2. Genau so. Nur dann auch nicht char[] annehmen, sondern const char* in der Funktion.



  • Problem 1:
    Was bezweckst du mit einer namenlosen Funktion (in myfunc.h)?

    //Fehler: Das Programm weiß nicht was Test und La sind
    Dann erklär dem Programm das doch. i.A. macht man sowas mit einer Deklaration und/oder Definition.

    Problem 2:
    Wie kann ich La in "" schreiben? Ohne Fehler?
    "La" ist schon richtig. Das ist ein Stringliteral.
    Hier ist das Problem das Test, das der Compiler nicht kennt. Siehe Problem 1



  • Test soll in myf1, und La soll in myf2

    myf1 und myf2 werden dann "verarbeitet"



  • ColaLerner schrieb:

    Test soll in myf1, und La soll in myf2

    myf1 und myf2 werden dann "verarbeitet"

    Und was sollen La und Test sein?

    Du sollst es dem Compiler mitteilen. nicht uns.

    Wie du das machst, steht in dem Buch über C++ deiner Wahl.
    Denn diese Grundlagen enthält jedes (auch noch so schlechte) Buch.



  • Hab hier aber kein Buch, mein Wissen ist eine Sammlung aus Tutorials, Schule, Crashkurse und augeliehene Bücher.



  • ColaLerner schrieb:

    Hab hier aber kein Buch, mein Wissen ist eine Sammlung aus Tutorials, Schule, Crashkurse und augeliehene Bücher.

    Na dann schaff dir n ordentliches C++-Buch an und arbeite es durch. Anschließend dann 10 "Ich soll nicht C und C++ mischen" Stoßgebete und es sei dir verziehen.



  • Du musst die Tutorials und Bücher (egal ob ausgeliehen oder eigene) auch durcharbeiten.

    Dabei bedeutet durch "von Vorne bis Hinten". Auch in der Reihenfolge, eine Seite nach der Anderen.
    Und arbeiten, dass du nicht nur lesen sollst, sondern auch mal die Beispiele nachprogrammierst.

    Variablen kommen ziemlich früh dran. Eigene Funktionen zwar etwas später, aber immer noch im vorderen Teil der Bücher.



  • Ich glaube ich habe langsam so ungefähr eine Vermutung was der TE denn will.
    Und zwar glaube ich das er zwei Zeichenketten, einmal Test und einmal "la" an eine Funktion übergeben will.

    Dass es eine Zeichenkette, und kein Variablenname ist, musst du aber für den compiler kenntlich machen.

    myfunc("Test", "\"La\"");
    

    Ist vielleicht prinzipiell das, was er sucht, auch wenn ich mir nicht ganz sicher bin.



  • Ich denke ColaLerner will die zwei Texte in die zwei chars kriegen, weiß aber nicht wie



  • ...


Anmelden zum Antworten