W czym jest problem ? error C2108: subscript is not of integral type

0

Witam, chce napisac program który liczy srednią elementów tablicy. Do wyliczenia sredniej musze stworzyc funkcje i uzyć jej w funkcji głównej. Kod wygląda tak:

#include <iostream> 
using namespace std;


float tablica(float tab[20])
{
float suma;
float i;
  for( i=0;i<20;i++)
  {
	  
	  tab[i]=i+1;
	  suma=suma+tab[i];
  }
  return suma/20;
}

int main()
{
	float a[20];

cout << tablica(a) << endl; 


system("pause");
	return 0;
} 

Kompilator pokazuje dwa błędy error C2108: subscript is not of integral type. Na czym one polegają i co może być nie tak jak powinno?
Z góry dziekuje.

0
float i;
  for( i=0;i<20;i++)
  {
          tab[i]=i+1;
          suma=suma+tab[i];

zmienna i musi być typu int.

0

Nie możesz tak przekazać tablicy do funkcji. Przekazujesz sam wskaźnik + w drugim parametrze wielkość tablicy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1