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 » |