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

Błąd kompilacji: "invalid conversion from 'int*' to 'int'"

Ostatnio zmodyfikowano 2011-07-15 13:17
Autor Wiadomość
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:
C/C++
#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
P-35984
Skala
» 2011-07-15 13:11:07
void podaj_oceny( int*, int );
P-35985
Skala
» 2011-07-15 13:11:29
void podaj_oceny( int*, int );

EDIT:
Pierwszy argument jest adresem tablicy, dlatego musi być wskaźnik.
P-35986
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.
P-35987
« 1 »
  Strona 1 z 1