Falsche Funktions-Deklaration ?!



  • Hallo Leutz!
    Ich schreibe gerade das erste mal ein etwas groesseres Programm und arbeite das erste mal mit Funktionen ... Das Problem ist, dass mir mein Compiler gleich eine Fehlermeldung bringt:

    Error ... 13: Expression Syntax
    Error ... 13: ) expected
    Error ... 13: Declaration Syntax Error

    Zeile 13:

    string readtxtfile(unsigned int line, string filedir){
    

    Was ist an dieser Deklaration falsch ?

    Hoffe mir kann jemand helfen! ThX! Gez:

    ein weiterer anfaenger



  • Ist das nur der Prototyp einer Funktion oder folgt auf diese Zeile die komplette Funktion ? Wenn es nur der Prototyp ist, muss die Zeile mit einem ; abgeschlossen werden, ansonsten würde ich das { in die nächste Zeile schieben:

    string readtxtfile(unsigned int line, string filedir)
    {
     // Inhalt der Funktion
    }
    


  • vielleicht ist string nicht bekannt. (=> <string>, namespace std)



  • an den Anfang solltest Du schreiben:

    #include <string>
    
    using namespace std;
    

    Dadurch wird "string" im Rest Deines Moduls bekannt.



  • Power Off schrieb:

    an den Anfang solltest Du schreiben:

    #include <string>
    
    using namespace std;
    

    Dadurch wird "string" im Rest Deines Moduls bekannt.

    joa, nur die fehlermeldung vom compiler passt irgendwie nicht dazu, dass er einen string nicht kennt.. naja entweder er antwortet nochmal oder das problem hat sich erledigt...



  • anfaenger110000111 schrieb:

    ...
    Was ist an dieser Deklaration falsch ?

    Zeile 13:

    string readtxtfile(unsigned int line, string filedir){
    

    da es 'zeile 13' ist, denke ich es sollte tatsächlich eine daeklaration werden. und somit müßte es

    string readtxtfile(unsigned int line, string filedir);
    

    heißen.

    das würde auch:

    anfaenger110000111 schrieb:

    Error ... 13: Expression Syntax
    Error ... 13: ) expected
    Error ... 13: Declaration Syntax Error
    ...

    erklären (glaub ich)

    vielleicht soll 'line' ja auch ein 'char*' oder 'string' sein. ohne mehr code wird das nichts, alles nur spekulationen.

    gebe 'DarkSea' recht, wenn er sich nicht mehr meldet hats sich wohl erledigt.

    //edit: fehler, fehler, fehler



  • DarkSea schrieb:

    joa, nur die fehlermeldung vom compiler passt irgendwie nicht dazu, dass er einen string nicht kennt.. naja entweder er antwortet nochmal oder das problem hat sich erledigt...

    gcc gibt ziemlich seltsame Fehlermeldungen bei undeklarierten Typen. Er weiß ja nicht, dass string ein Datentyp sein soll, und versucht ohne dieses Wissen, sich einen Reim drauf zu machen.


Anmelden zum Antworten