Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Program pomija wywołanie funkcji void.

Ostatnio zmodyfikowano 2021-10-01 16:18
Autor Wiadomość
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.

C/C++
#include <iostream>
#include <cstdlib>
#include <string>

using namespace std;

void help();

int main( int argc, char * * argv )
{
   
//Tutaj jest jeszcze kilka zmiennych.
   
   
string dump[ 10000 ];
   
   
if( argc >= 1 )
   
{
       
for( int i = 1; i < argc; i++ )
       
{
           
dump[ i ] = argv[ i ];
       
}
    }
   
   
if( dump[ 1 ] == "-h" || dump[ 1 ] == "" ) //Help message
   
{
       
void help(); //<- ta linia kodu jest notorycznie pomijana w dowolnym miejscu funkcji main()
       
exit( 0 );
   
}
   
   
//tutaj program wykonuje kolejne instrukcje, które działają właściwie.
   
   
return 0;
}

void help()
{
   
cout << "This is a help message\nI hope it helps.";
   
exit( 0 );
}
P-178996
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...
P-178997
« 1 »
  Strona 1 z 1