Witam ;)
W ramach podróży (i nauki) po C++ śmignąłem sobie w 20 minut listę dwukierunową.
Lecz (może 20 minut to za mało) jedna z metod nie chce działać.
Mianowicie ta:
//metoda ta ma za zadanie ustawić wartość obiektu na żądaną
//a w razie gdyby obiekt nie istniał, stworzyć go i ustawić wartość
template<class X>
void List<X>::Set(Uint Node, X Value)
{
LIST_NODE<X>* It = NodeStart;
Uint I = 1;
for(; I <= Node; I++)
{
It = It->NextNode;
};
//dotąd jest git
//pewnie dostanie słowne lanie, za to, że to wolna metoda przechodzenia po elementach jest ;)
//lecz tu
if(It->Value == NULL) //w tym warunku jest jakiś błąd
//Skoro It->Value nie jest zainicjowany
//To jest NULL przecież
//A on przesakuje do else
//I powoduje błąd naruszenia
It->Value = new X(Value);
else
*It->Value = Value;
};
I teraz pytanie: Co mógłbym z tym zrobić?