Metode

4

Metode

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Da, to je to. Objekat se svakako briše, prostor se oslobađa, pa je sasvim nebitno koje su vrednosti pokazivača u tom slučaju.

Sa druge strane, kada se radi sa pokazivačima koji su recimo lokalni za glavnu funkciju, uvek je dobra praksa takve pokazivače postaviti na NULL nakon brisanja objekta na koji ukazuju, radi eventualne dalje (ispravne) upotrebe.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Napisano: 20 Sep 2014 10:10

Prepravio sam kod onako, ali mi nisi odgovorio na drugo pitanje. Zasto mi program preskace da upisem adresu? Ovako mi izlazi u cmd-u kad pokrenem program:

Citat:
Ime i prezime:
Ime jednog roditelja:
Godiste:
Adresa stanovanja: Broj telefona:


i ne da mi da unesem za adresu. Zasto i kako da to ispravim?

Dopuna: 20 Sep 2014 10:43

Probao sam i dibagerom da uocim gresku, ali ne kapiram bas najbolje, kao da preskoci unos za adresu. Sta mislis, do cega je greska?



offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Ta linija se svakako izvršava, ne preskače se sigurno. Pitanje je samo koju vrednost pokupi funkcija. Postavi breakpoint na tu liniju pa prati stanje promenljivih pre i posle izvršenja te naredbe, ili idi Step by step pa vidi gde zabada.

Inače, ja sam mislio na globalnu std funkciju getline, tj. na std::getline sa sledećim potpisom:
 istream& getline (istream&  is, string& str, char delim);Tj: istream& getline (istream&  is, string& str);

Nisam radio ni sa jednom, pa ne mogu da ti pomognem oko pojedinosti tih funkcija.

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Napisano: 20 Sep 2014 13:24

Ova funkcija radi samo sa promenljivama tipa string, ali kako posle da ja odatle prebacim u pokazivac?

Dopuna: 20 Sep 2014 13:37

Ovu funkciju getline ne mogu da korstim jer trazi promenljive tipa string, pa sam zato iskoristio funkciju gets();

Inace, i dalje imam onaj isti problem da se preskace upis za adresu. To cu sad da probam da resim.

Dopuna: 20 Sep 2014 13:54

Koristio sam dibager i naisao na gresku koja kaze:
Citat:
Expression cannot be evaluated.


Gledao sam po internetu ali i ne kapiram bas sta to proizvodi tu gresku. Ta je greska u 35. liniji koda kada se pravi dinamicka zona memorija za pokazivac adresa.

Kako da to ispravim?

Dopuna: 20 Sep 2014 17:28

Moze li pomoc?

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

crusher ::Ova funkcija radi samo sa promenljivama tipa string, ali kako posle da ja odatle prebacim u pokazivac?Ako si baš zapeo da radiš sa char*...sigurno postoji funkcija da iz stringa izvučeš samo tekst. No, treba nešto i sam pokušati, potražiti, a ne čekati sve na tacnu. Wink
crusher ::Koristio sam dibager i naisao na gresku koja kaze:
Citat:
Expression cannot be evaluated.


Gledao sam po internetu ali i ne kapiram bas sta to proizvodi tu gresku. Ta je greska u 35. liniji koda kada se pravi dinamicka zona memorija za pokazivac adresa.
Baš mi znamo koja je sada tebi 35. linija i šta se sve nalazi ispred i iza nje. Wink Mora to malo detaljnije, barem kod da pustiš...
crusher ::Moze li pomoc? Iskreno, teško. Na četiri strane razglabamo o nekim trivijalnim greškama, i posle svega toga (a i generalno tvog ranijeg učešća) ja imam osećaj da se i ne trudiš baš nešto mnogo da rešiš svoj problem. Ok, možda se i varam, ali je tako kako je, ti ni posle dva/tri dana nisi uspeo da napišeš program koji se piše u dva-tri minuta. Ne bih da te obeshrabrim niti bilo šta slično, ali vidim dva potencijalna uzroka:

- tebi ovo definitivno ne ide, ili
- ti ovo radiš na skroz pogrešan način

Ja bih rekao da je u pitanju ovo drugo. U to ime ti savetujem da pokušaš da zaista shvatiš ono što učiš. Puko pisanje programa bez imalo razumevanja kako sve to radi i nema neki smisao.

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Sto ce tica toga da se ne trudim da resim svoj problem si u pravu. Ja sam pokusavao da nadjem neku funkciju ili nesto sto ce da izvuce tekst iz stringa pa da prebaci u char* ili nesto slicno, ali izgleda da se nisam dovoljno potrudio i izvinjavam se.

Inace, sto se tice ovog
Citat:
Baš mi znamo koja je sada tebi 35. linija i šta se sve nalazi ispred i iza nje. Wink Mora to malo detaljnije, barem kod da pustiš...


kod sad vec dao u jednoj poruci koja se nalazi nekoliko broj poruka pre ove, pa sam zato napisao da je u 35. liniji koda.

Dalje, sto se ovoga poslednjeg tice, ja programiranje radim sam, bez profesora, a i knjiga je malo teza, ali pokusavam da sto bolje shvatim ono sto ucim. I mislim da je najlakse da to razumem tako sto cu pisati kod. Inace, pomoc sam trazio jer ovaj problem mi stvarno ne dolazi do mozga. Isto sam definisao dinamicku zonu memorije za pokazivac adresa, kao i za pokazivac ime, ali mi dibager prijavljuje gresku koju sam vec napisao za pokazivac adresu, a ne za pokazivac ime. I uopste nemam nikakvu ideju zbog cega se to desava pa zato i ne znam kako da to resim. Zato trazim pomoc od boljih i iskusnijih programera da mi pomognu.

Ja se stvarno izvinjavam, od sada pa nadalje, vise cu se truditi i zbog mene jer stvarno zelim da naucim programiranje, a i zbog tebe jer se trudis da mi pomognes, a ja nikakav napor ne pravim.
Izvini opet.

Mozemo li sada da se vratimo na temu, i da vidimo kako mozemo da resimo ovu gresku sto prijavljuje?

I izvini opet.Wink

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Napisano: 21 Sep 2014 9:36

Evo razloga, a i rešenja: http://stackoverflow.com/questions/12691316/getlin.....ome-inputs Bilo je potrebno izdvojiti svega jedan minut za pretragu...

Dopuna: 21 Sep 2014 9:39

crusher ::Mozemo li sada da se vratimo na temu, i da vidimo kako mozemo da resimo ovu gresku sto prijavljuje?A kakvu to grešku prijavljuje? Kao što rekoh, program je sintaksno apsolutno korektan. Problem je bio jedino u logičkim greškama koje su u ovom slučajem prouzrokovane pojedinostima (osobinama, načinom rada) pojedinih funkcija.

Kada sam napisao ovo: vasa.93 ::Nisam radio ni sa jednom, pa ne mogu da ti pomognem oko pojedinosti tih funkcija.To je značilo da treba da uzmeš i sam se upoznaš sa pojedinostima korišćenih funkcija, da proučiš način njihovog rada i da shvatiš u čemu grešiš.

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

U redu, vise se ovako nece ponoviti i vise cu se truditi. Inace, hvala na pomoci!Very Happy

Ko je trenutno na forumu
 

Ukupno su 830 korisnika na forumu :: 31 registrovanih, 6 sakrivenih i 793 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: babaroga, Bane san, bojankrstc, Boris BM, Brana01, dankisha, debeli, Dimitrise93, FileFinder, Georgius, goxin, indja, JOntra, Kubovac, ladro, Marko Marković, Mi lao shu, Milos ZA, MilosKop, Nemanja.M, procesor, rodoljub, Romibrat, Stija zmija, TheBeastOfMG, Toper, Tvrtko I, vathra, vlad the impaler, vukovi, Zimbabwe