Witam napisałem taki program
#include <iostream>
using namespace std;
void wypelnij(int t[], int n, int zmienna)
{
for (int i=0; i<n; i++)
{
t[i]=i;
cout<<t[i]<<", ";
}
cout<<"\nZmienna dynamiczna= " << zmienna;
}
int main()
{
int *tablica, *zmienna;
int n;
char a;
zmienna = new int;
cout<<"Podaj zmienną dynamiczną: ";
cin>>*zmienna;
cout<<"\nPodaj wielkość tablicy: ";
cin>>n;
tablica = new int[n];
cout<<"Chcesz wypełnić tablice ?(t/n): ";
cin>> a;
if (a=='t')
wypelnij(tablica, n, *zmienna);
else
cout<<"\nZmienna dynamiczna = "<<*zmienna;
delete zmienna;
delete [] tablica;
cout<<"\nCo się stanie po skasowaniu ? \n";
wypelnij(tablica, n, *zmienna); //dlaczego wypisuje normalnie tablice?
return 0;
}
i co mnie zdziwiło po skasowaniu tablicy dynamicznej nadal ją wyświetliło w przeciwieństwie do zmiennej która przyjęła wartość 0
dlaczego tak się dzieje ?