Program pomija wywołanie funkcji void.
Ostatnio zmodyfikowano 2021-10-01 16:18
marek_antoni Temat założony przez niniejszego użytkownika |
Program pomija wywołanie funkcji void. » 2021-10-01 16:15:27 Witam. Na początku chciałbym zaznaczyć, że nie jestem zbyt doświadczonym programistą, więc może po prostu czegoś nie wiem. Nie mniej wydaje mi się, iż w kodzie pisanego przeze mnie programu tkwi jakiś bug, którego źródła nie jestem w stanie wyśledzić. Program działa w taki sposób, iż uruchomiony w terminalu linuxa zbiera argumenty podane po jego wywołaniu i przelicza je w dalszym procesowaniu instrukcji. Działa to bez zarzutu, jednak problem pojawia się kiedy w kodzie programu w funkcji main, na początku (w dowolnym jej miejscu, tak naprawdę) wstawiam wywołanie funkcji void help(), która ma wyświetlić informacje w momencie, w którym użytkownik nie poda argumentów, lub poda argument -h. Debugując program zauważyłem, że program najzwyczajniej w świecie za każdym razem pomija linię wywołującą void help(), tak jakby nie istniała. Byłbym bardzo wdzięczny za wsparcie w tym temacie. Poniżej zamieszczam skrócony kod programu. #include <iostream> #include <cstdlib> #include <string>
using namespace std;
void help();
int main( int argc, char * * argv ) { string dump[ 10000 ]; if( argc >= 1 ) { for( int i = 1; i < argc; i++ ) { dump[ i ] = argv[ i ]; } } if( dump[ 1 ] == "-h" || dump[ 1 ] == "" ) { void help(); exit( 0 ); } return 0; }
void help() { cout << "This is a help message\nI hope it helps."; exit( 0 ); }
|
|
marek_antoni Temat założony przez niniejszego użytkownika |
» 2021-10-01 16:18:17 Przepraszam, temat rozwiązał się sam. Funkcja jest błędnie wywoływana, co zauważyłem pisząc tego posta. Jestem zdecydowanie przemęczony... |
|
« 1 » |