Błąd kompilacji: "invalid conversion from 'int*' to 'int'"
Ostatnio zmodyfikowano 2011-07-15 13:17
imralav Temat założony przez niniejszego użytkownika |
Błąd kompilacji: "invalid conversion from 'int*' to 'int'" » 2011-07-15 12:56:03 Witam. Od paru dni uczę się C++. Tworzę różne proste programy, śledzę kilka kursów. Wymyśliłem, że dobrym ćwiczeniem będzie program do liczenia średniej ocen. Ilość ocen jak i oceny same w sobie podawane są przez użytkownika. Do przechowywania ocen wykorzystałem jednowymiarową tablicę. Stworzyłem już jedną funkcję wczytującą oceny. Do tej pory kod wygląda tak: #include <iostream> #include <cstdlib>
using namespace std;
void podaj_oceny( int, int );
int main() { int ilosc_ocen = 0; bool blad_przyOcenach = 0; do { cout << "Ile masz ocen?\n"; cin >> ilosc_ocen; blad_przyOcenach = cin.good(); cin.clear(); cin.sync(); if( blad_przyOcenach != 1 || ilosc_ocen < 1 ) { cout << "Ilosc ocen chyba powinna byc podana jako dodatnia liczba calkowita..\n"; } } while( blad_przyOcenach != 1 || ilosc_ocen < 1 ); int oceny[ ilosc_ocen ]; system( "cls" ); podaj_oceny( oceny, ilosc_ocen ); return 0; }
void podaj_oceny( int tab[], int rozmiar ) { for( int i = 0; i < rozmiar; i++ ) { cout << "Podaj " << i + 1 << " ocene: "; cin >> tab[ i ]; }; };
Błąd jaki pokazuje mi "Build Messages" w Code::Blocks to: |27|error: invalid conversion from 'int*' to 'int'| |27|error: initializing argument 1 of 'void podaj_oceny(int, int)'| ||=== Build finished: 2 errors, 0 warnings ===|
|
Nie wiem w czym problem, widocznie nie mam wystarczającej wiedzy. Czy mógłby ktoś mi wyjaśnić, co i dlaczego jest nie tak? Pozdrawiam Imralav |
|
Skala |
» 2011-07-15 13:11:07 void podaj_oceny( int*, int ); |
|
Skala |
» 2011-07-15 13:11:29 void podaj_oceny( int*, int ); EDIT: Pierwszy argument jest adresem tablicy, dlatego musi być wskaźnik. |
|
imralav Temat założony przez niniejszego użytkownika |
» 2011-07-15 13:17:35 Świetnie, dzięki. Głupia pomyłka ; ) Do zamknięcia. |
|
« 1 » |