Przerabiam odcinek 10 kursu C++ Pana Mirosława i program (identyczny z programem na odcinku) wyrzuca błąd dla niektórych wartości 'ile'. (Zostaje wyświetlone 'ile' adresów, ale następnie zamiast normalnego 'return 0' konsola przestaje odpowiadać).
KOD:
#include <iostream>
using namespace std;
int ile;
int main()
{
cout << "Ile liczb w tablicy: ";
cin>>ile;
int *tablica;
tablica = new int [ile];
for (int i=0;i<ile;i++)
{
cout<<(int)tablica<<endl;
tablica++;
}
delete [] tablica;
return 0;
}
"Program przestaje działać" dla ile o wartościach: 4, 10, 12, 14, 16, 18, 20. Powyżej 20 już nie sprawdzałem. Strasznie ciekawi mnie, dlaczego tak się dzieje, szczególnie, że na odcinku zostało wyświetlone 10 adresów pamięci bez problemu.
@EDIT: Pobawiłem się trochę i po wpisaniu jakichś wartości do szufladek tablicy adresy wyświetlają się poprawnie.
for (int i=0;i<ile;i++)
{
tablica[i]=0;
tablica[i]+=i;
}
To dopisałem przed wyświetlaniem adresów i działa. Ale nadal jestem ciekaw czemu bez inicjacji tablicy wyrzucany jest błąd, jakiś pomysł? :)