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

Przekazywanie funkcji tablic typu const char*

Ostatnio zmodyfikowano 2017-09-01 16:44
Autor Wiadomość
gromko12
Temat założony przez niniejszego użytkownika
Przekazywanie funkcji tablic typu const char*
» 2017-09-01 16:05:48
Poniższy kod nie kompiluje się, wywalając następujący bład: |undefined reference to `show_a(double*, char const**, int)'|, z góry dziękuje za pomoc ;)

C/C++
void fill_a( double *, const char **, int );
void show_a( double *, const char **, int );
void zadanie8()
{
    const int Season = 4;
    const char * tab[ Season ] = { "Wiosna", "Lato", "Jesien", "Zima" };
    double expenses[ Season ];
    fill_a( expenses, tab, Season );
    show_a( expenses, tab, Season );
}
void fill_a( double arr[], char * arr2[], int n )
{
    for( int i = 0; i < n; i++ )
    {
        cout << arr2[ i ] << ": ";
        cin >> arr[ i ];
    }
    return;
}
void show_a( double arr1[], const char * arr2[], int n )
{
    double total = 0.0;
    cout << "\nWYDATKI\n";
    for( int i = 0; i < n; i++ )
    {
        cout << arr2[ i ] << ": " << arr1[ i ] << " zl";
        total += arr1[ i ];
    }
    return;
}
P-164506
maly7
» 2017-09-01 16:42:13
C/C++
void fill_a( double *, const char **, int );
void show_a( double *, const char **, int );

Jeśli już tak deklarujesz, to również tak dawaj później:
C/C++
void fill_a( double * arr, const char ** arr2, int n )
{
    ...
}
void show_a( double * arr1, const char ** arr2, int n )
{
    ...
}
Głównie chodzi o const w fill_a
Jeśli funkcje są typu void, to nie potrzeba na końcu dawać return.
P-164508
Monika90
» 2017-09-01 16:44:19

|undefined reference to `show_a(double*, char const**, int)'|
Niemożliwe, powinno być undefined reference to `fill_a bo to właśnie tej funkcji nie zdefiniowałeś.
P-164509
« 1 »
  Strona 1 z 1