Przekazywanie funkcji tablic typu const char*
Ostatnio zmodyfikowano 2017-09-01 16:44
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 ;) 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; } |
|
maly7 |
» 2017-09-01 16:42:13 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: 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. |
|
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ś. |
|
« 1 » |