Lista na templejtach, odwołanie do elementu

0

Witam
Próbuję nauczyć się programowania na templejtach. Założyłem sobie takie bezsensowne zadanie by utworzyć listę na templejtach który może przechowywać N wartości typu T.
Mam problem z implementacją iterowania po liście, czy ktoś mógłby spróbować uzupełnić metodę Lista::get??? Również z tym warunkiem który w nawiasach kwadratowych się podaje [i<N] ale nie wiem jak to w programowaniu uogólnionym dokładnie wygląda.

template<class T, int N>
class Item
{
  public:
       T value;
       Item<T, N-1> next;
};

template<class T>
class Item<T, 0>
{
    public:
        T value;
};

template<class T, int N>
class Lista
{
    public:
    Item<T, N> root;
    T& get(const int& i)  //warunki jakos [i<N]
    {
         //.....
    }
};

int main()
{
    Lista<float, 9> lista;
    float x = lista.get(5);
    

    return 0;
}
0
template<class T, int N>
class Item
{
  public:
       T value;
       T& get(int i) {
    		if (i == N)
    			return value;
    		return next.get(i);
       }
       Item<T, N-1> next;
};

template<class T>
class Item<T, 0>
{
    public:
        T value;
        T& get(int i) {
        	return value;
        }
};

template<class T, int N>
class Lista
{
    public:
    Item<T, N> root;
    T& get(const int& i)  //warunki jakos [i<N]
    {
         return root.get(i);
    }
};

int main()
{
    Lista<float, 9> lista;
    float x = lista.get(5);

    return 0;
}

Tak na szybko. Bardziej użyteczne byłoby get<N>().

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