prosze o pomoc. Nie wiem jaki błąd

0
#include <iostream>
using namespace std;
template<class T, unsigned int N>
class Tablica
{
public:
    T tab[N];
    static const unsigned int rozmiar = N;
};
int main ()
{
    Tablica<int, 10> tablica1;
    for(int i=0; i<10; i++)
    {
        tablica1[i]=5+i;
    }
    for(int i=0; i<10; i++)
    {
        cout<<"A["<< i<< "]="<< A[i];
    }
    return 0;
}

2

Na szybko: W pierwszej pętli imo: tablica1.tab[i]=5+i;. W drugiej - co to jest A[i]? Nie widzę deklaracji tego nigdzie.

0

tam ma byc tablica1[i] zamiast tego A[i]

1
  1. zapoznaj się z inkrementacją bo jej nie rozumiesz: http://4programmers.net/Forum/1101404
  2. unsigned int jest synonimem unsigned ale dla indeksów i rozmiarów i tak lepiej używać size_t
  3. Po kiego ci ten static const unsigned int rozmiar = N; ? może lepiej static unsigned int size() { return N; }
  4. tablica1.tab[i] lub przeciążasz: T &operator[](unsigned pos) { return tab[pos]; }
  5. czym jest to A - nie mam zielonego pojęcia

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