Wpis z mikrobloga

Mirasy z #cpp #cplusplus #programowanie, może któryś będzie wiedział jak mi pomóc.
Otóż pewien kod pracuje idealnie w trybie Debug. Kompiluje się również prawidłowo pod Releasem z tym, że pod nim w trakcie wykonywania się #!$%@?. Doszedłem do tego, że przy porównywaniu nie potrafi rozpoznać zwracanego pustego wskaźnika, dodaje go więc do kontenera (size staje się 1) i jak wiadomo przy wywołaniu metody jest crash.
Metoda generateEnemy zwraca wskaźnik na nowy wygenerowany obiekt lub null pointer gdy nie generuje nowego obiektu. Sprawdzałem też na zwykłym makro NULL, efekt taki sam.

Pytanie: czy może to być wina kompilatora/bibliotek czy jednak ja coś #!$%@?łem? Jak pisałem, dzieje się to tylko pod Releasem - pod Debugiem wszystko śmiga elegancko i płynnie.
Środowisko MS VisualStudio 2013.
a.....m - Mirasy z #cpp #cplusplus #programowanie, może któryś będzie wiedział jak mi...

źródło: comment_L6PNTArXEgP02C09qxT005vH1Jb7WdFM.jpg

Pobierz
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@anonimowy_anonim: ciekawe po co przekazujesz tempEnemy, skoro za chwilę to nadpisujesz. Jak potrzebujesz później wykorzystać to lepiej zwrócić. Może masz drugi wątek który kasuje Enemy.
  • Odpowiedz
@psychob: a kompilator nie powinien mi o tym jakoś powiedzieć? to muszę przejrzeć jeszcze kod. Bo jest kilka warning'ów, ale dotyczą tylko pierdół jak obcięcia float/int, a nie wskaźników. Dzięki.
@t3rmi: Dzięki poczytam, bo nie korzystałem wcześniej z takich rzeczy ;)
  • Odpowiedz