Argumente der main() Funktion an eine andere Funktion übergeben



  • Hallo erstmal,

    ich möchte die Argumente der main()-Funktion an eine andere Funktion übergeben.
    Mein Ansatz ist dieser, doch der scheint nicht zu Funktionieren.

    #include "application.h"
    
    int main(int argc, char *argv)
    {
        Application app;
        app.run(argc, argv, (sizeof(argv)/sizeof(argv[0])));
    
        return 0;
    }
    

    die Methode run() ist so deklariert

    void run(int argc, char *argv, int elements);
    

    Ich möchte an sich nur den Pfad zum Programm anzeigen

    //In run()
    string sPath = argv[0];
    string::size_type PositionOfProgrammName = sPath.find_last_of("\\");
    sPath.erase(PositionOfProgrammName+1);
    cout << sPath << " > ";
    


  • seux schrieb:

    int main(int argc, char *argv)

    char **argv

    app.run(argc, argv, (sizeof(argv)/sizeof(argv[0])));

    Das letzte kann so nicht funktionieren (argv ist ein Zeiger, kein Array), dafür gibt's ja genau argc.



  • Danke erstmal für deine Antwort 🙂 . Ok, jetzt hab ich

    int main(int argc, char **argv)
    

    und

    app.run(argc, argv);
    

    an der letzteren liefert er mir immer nen Fehler zurück. run() hab ich nun wie folgt deklariert

    void run(int argc, char *argv);
    

    Ich hab ehrlich gesagt keine Ahnung, wie ich das übergeben soll 😕



  • Du siehst doch selbst, das der letzte Parameter von main - also argv - vom Typ her anders ist als der letzte Parameter von run .


Anmelden zum Antworten