#cpp #programowanie Mirko, kolejny problem mam i proszę was o pomoc. Mam ja klasę. Jaka - nieistotne. W środku parę int i wskaźnik na tablicę dynamiczną, jej rozmiar jest jednym z przechowywanych tam intów. Program działa aż do destruktora klasy. Nie bijcie za brak formatowania picture::~picture(void) { delete this->dots; } z klamrami [] czy bez za delete - cały czas wywala się. Zawartość klasy: int sx, sy, color, pixels; int *dots; Nie będę szczędzić plusów ( ͡°͜ʖ͡°)
@allthethings: I za co dziękuję. https://pastebin.com/GK5VXug0 Cały kod. Klasa w linijkach 9 - 21. Destruktor 134 - 137. Błąd : Unhandled exception at 0x778240FD (ntdll.dll) in projekt.exe: 0xC0000005: Access violation reading location 0x0000005C. Ja to rozumiem jako jakiś błąd destruktora. Po zamianie mojego destruktora komentarz dzieje się to samo. A co do trzeciego - tak, nie wiem jak działa delete. Od jakiegoś zera trzeba zacząć.
@cookie96: Po pierwsze, to co napisał @Saly. Po drugie, w konstruktorze jest ścieżka wykonania która nie inicjalizuje wskaźnika dots. // Edit: albo i nie istnieje, nie zauważyłem linii 69-70 Po trzecie, w tym kodzie jest jakiś pierdyliard wskaźników które nie wydają się do niczego potrzebne, ale to wygląda trochę jak (złe) nawyki z C. Po czwarte, spróbuj użyć std::vector dots zamiast int *dots, nic nie allokuj ręcznie tylko jak już wiesz jaki
Mirko, kolejny problem mam i proszę was o pomoc.
Mam ja klasę. Jaka - nieistotne. W środku parę int i wskaźnik na tablicę dynamiczną, jej rozmiar jest jednym z przechowywanych tam intów.
Program działa aż do destruktora klasy.
Nie bijcie za brak formatowania
picture::~picture(void)
{
delete this->dots;
}
z klamrami [] czy bez za delete - cały czas wywala się.
Zawartość klasy:
int sx, sy, color, pixels;
int *dots;
Nie będę szczędzić plusów ( ͡° ͜ʖ ͡°)
I za co dziękuję.
https://pastebin.com/GK5VXug0
Cały kod. Klasa w linijkach 9 - 21. Destruktor 134 - 137.
Błąd : Unhandled exception at 0x778240FD (ntdll.dll) in projekt.exe: 0xC0000005: Access violation reading location 0x0000005C. Ja to rozumiem jako jakiś błąd destruktora. Po zamianie mojego destruktora komentarz dzieje się to samo.
A co do trzeciego - tak, nie wiem jak działa delete. Od jakiegoś zera trzeba zacząć.
this->dots = new int(white);nie alokuje ci tablicy intów, tylko jednego inta.Po pierwsze, to co napisał @Saly.
Po drugie, w konstruktorze jest ścieżka wykonania która nie inicjalizuje wskaźnika dots.
// Edit: albo i nie istnieje, nie zauważyłem linii 69-70
Po trzecie, w tym kodzie jest jakiś pierdyliard wskaźników które nie wydają się do niczego potrzebne, ale to wygląda trochę jak (złe) nawyki z C.
Po czwarte, spróbuj użyć std::vector dots zamiast int *dots, nic nie allokuj ręcznie tylko jak już wiesz jaki