Temat: ocen-linux wywala błąd podczas return

Czy podczas sprawdzania oficjalnego (tego na ocenę) ocen-linux będzie mi także wywalać błędy wykonania w plikach, które zawierają funkcje???
Wywala błąd jeśli w kodzie jest gdzieś return (nie w main())...
Dodam, iż ocen-win nie wywala tego błędu, wszystko działa poprawnie. Nie chcę robić debilizmów typu ten sam kod 4 razy, więc chciałem posłużyć się funkcjami wyciągniętymi poza main(), ale nie działa na linuxowym pakiecie sprawdzania...

Używany Język: C++
Nie! Funkcje są jak najbardziej dozwolone. Trzeba tylko z nich poprawnie korzystać. Nie używam lokalnie oficjalnej sprawdzaczki, ale nie widzę powodu, przez który funkcje (a tym bardziej return w nich) mogłyby powodować błędy. Jesteś pewien, że błąd nie leży po Twojej stronie?
Działa na sprawdzaczce windows :)
Także błąd jest w tej linuxowej
Windows jest znacznie bardziej tolerancyjny od Linuxa na błędy programów. To wbrew pozorom świadczy na korzyść Linuxa. Więc możesz mieć jakiś błąd w swoim kodzie, który na Windowsie się niekoniecznie zawsze ujawnia.

Swoją drogą, testowałeś to na wirtualnej maszynie? Na jakiej dystrybucji?
Ubuntu 14.04, 64bit
Dobra, błąd nie wiem jak, ale zniknął po kilku zmianach :D
Teraz mam tylko błąd 139, który nie wiem, do którego pointera się odnosi...(jeśli w ogóle o to chodzi) wszystko nadal działa na windowsie...

Program nie wyrzuca na wyjście nic, pisze tylko "Segmentation fault (core dumped)", z czym się nigdy nie spotkałem (zwykle korzystam z windowsa), więc nie wiem, co mam zrobić...
Włączyć debuger i sprawdzić, co Ci wypisze. Strzelam, że odwołujesz się gdzieś do pamięci za tablicą, stąd segfault.
Słowa kluczowe:
- dbg
- Valgrind

Kompiluj z flagą -g i bez (!) -static, szczególnie przy Valgrindzie. Przy okazji Valgrind jest niezłym profilerem, jeśli masz czas na zabawę w to.
Dobra, wszystko działa, w szczególnym przypadku odwoływałem się do obiektu w tablicy, który nie został wprowadzony... Dzięki :D
Kurcze... Nadal dla ekstremalnie dużego zestawu danych jest ten błąd... Ale sądzę, że tutaj jest już jakiś inny problem (kompatybilność, itp.). Posprawdzam jakie długości mogą mieć zmienne liczbowe w tym kompilatorze... Może o to chodzi
Jakiego Ty kompilatora używasz i dlaczego to nie jest gcc / clang? O.o
to jest gcc, chodziło mi o to, iż nie na wszystkie wersje procesorów są tak samo typy zmiennych zdefiniowane (przynajmniej kiedyś tak było, np. jeden zestaw[procesor+system+...] miał long = 2^32, inny 2^64, czy jakoś tak).
Więc różnice mogą występować, niektóre kompilatory (na niektóre wersje procesorów/systemów) mogą mieć szerszy zakres... Program testowałem na 2 systemach, ale na 2 maszynach, więc taka różnica nie jest wykluczona ;)
Ach. W ten sposób, testujesz na jakimś NORCu czy innym kalkulatorze. No to masz rację, standard dalej nie określa konkretnie rozmiarów typów. Na przykład rozmiar longa jest "nie mniejszy niż inta". Masz punkt.