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
- alsoargv
- vom Typ her anders ist als der letzte Parameter vonrun
.