Wpis z mikrobloga

@user84328: W razie gdybyś jeszcze był zainteresowany - output z valgrinda.

==27077== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreloadmemcheck-amd64-linux.so)
==27077== by 0x56B3877: cv::fastMalloc(unsigned long) (in /usr/lib/x86
64-linux-gnu/libopencv_core.so.2.4.8)
==27077== by 0x55EAE2A: cv::Mat::create(int, int const*, int) (in /usr/lib/x8664-linux-gnu/libopencvcore.so.2.4.8)
==27077==
  • Odpowiedz
@sosnnaa: Ja tam widzę ujemną wartość sz[0] czyli wartość rows, czyli próbujesz stworzyć coś co ma ujemną wartość wierszy. Nic dziwnego, że się wysypuje.
  • Odpowiedz
@sosnnaa: Nigdy nie korzystałem z CLiona.
Postaw breakpointa na 61 linii i sprawdź jakie wartości będzie przekazywał z X , bo jakoś nie chce mi się ufać temu CLion. Niemożliwe, by kompilator nagle nie potrafił zainicjować tablicy.
  • Odpowiedz
Niemożliwe, by kompilator nagle nie potrafił zainicjować tablicy.


@Huczek: Znalazłem już parę bugów w gcc więc nic nie jest niemożliwe ( ͡° ͜ʖ ͡°)
Użyłem innego konstruktora gdzie jawnie podaję cols i rows. Przy tworzeniu obiektu wartości są takie jakie powinny być (25 i 25). Po wywołaniu Mat::create wartości wciąż są poprawne. W breakpoincie przy tworzeniu tablicy wartości wciaż są poprawne.
Dopiero przy wołaniu kolejnego create
  • Odpowiedz