Imam mali problem.
Imam klasu koja enkapsulira pokazivac na int (i čiji objekti treba da sadrže dinamički niz integera) i duzinu tog niza. Konstruktoru treba da proslijedim duzinu tog niza i inicijalizatorsku listu kojom cu odmah i inicijalizivati onoliko prvih elemenata koliko se proslijedi, ali treba omoguciti i slucaj da se alocira niz koji je duzi od dobijene inicijalizatorske liste (jer ce se kasnije moci dodavati dodatni elementi).
U konstruktoru, naravno, moram vrsiti provjeru duzine, jer je tipa int i moguce je poslati negativan broj ili 0, a to mi prijavljuje warning.
Provjeru vrsim poredjenjem sa duzinom inicijalizatorske liste.
Ali problem je sto se porede signed i unsigned tipovi.
Objekat_inicijalizatorske_liste.size() vraca size_t (unsigned int) a argument kojim se prima duzina je int.
Nisam imao ideja osim da duzina bude tipa unsigned int, ali bi to mijenjalo vrijednost, ako korisnik učita neki negativan broj, te bi to davalo netačan podatak o duzini.
Kako to da rijesim?
|