int wojna[2];
int* point = new int{ wojna[0] };
cout << "Wpisz liczbe: " << endl;
cin >> wojna[0];
cout << point << endl;
delete point;
cout << point << endl;
cout << wojna[0];
//////////////////////////////////////////////
int wojna;
int* point = new int{ wojna };
cout << "Wpisz liczbe: " << endl;
cin >> wojna;
cout << point << endl;
delete point;
cout << point << endl;
cout << wojna;
//////////////////////////////////////////
int forex;
int * pi;
pi = new int;
pi = &forex;
cout << "Wpisz: " << endl;
cin >> forex;
cout << forex << pi << *pi;
delete pi;
Mam trzy problemy:
-
W pierwszej połowie kodu program nadal wyświetla zawartość tablicy wojna, mimo że użyłem delete do kasowania bloku.
-
Kiedy zmienię tablicę wojna na zmienną wojna(usunę klamry), kompilator również odmawia współpracy podając error C4700
-
W niższej połowie kodu próbowałem rozłożyć proces new i delete na czynniki pierwsze, lecz kompilator zgłasza błąd, i podaje za przyczynę złe zastosowanie delete.**
Szczerze mówiąc dotychczas nie miałem problemu z rozumowaniem tego co dyktuje mi książka, dopiero przy wskaźnikach wszystko przestało działać.
Próbowałem szukać po innych postach ze słowem delete, ale kody były zbyt skomplikowane jak dla mnie.
Z góry dzięki za objaśnienie moich błędów.