4 / 8
Jun 2021

Właśnie rozpocząłem kurs C++ prowadzony przez Mirosława Zelenta.
Pracuję na laptopie Dell Precision M4800 (Windows 10Home wersja 10.0.19041, CodeBloks-20.03mingw )
Przerabiając lekcję 10 o wskaźnikach natrafiłem na problemy które mnie przerastają i potrzebuję pomocy, HELP!!!

  1. nie działa u mnie rzutowanie zmiennej na typ int (wiersz 16) - program się nie uruchamia a CodeBloks wyrzuca komunikat jak na załączonym screenie mimo że kod programu jest identyczny z kodem podanym w lekcji! (załącznik nr 1)
  2. ten sam program bez rzutowania zmiennej na typ ini (wiersz 15) uruchamia się długo a kompilator zamiast zwrócić returned (0) wyrzuca bardzo dużą liczbę (załącznik nr 2)

Do tej pory nie zauważyłem takich anomalii w działaniu programów z poszczególnych lekcji kursu uruchamianych na moim laptopie.
Odinstalowałem i ponownie zainstalowałem CodeBloks’a ale to nie pomogło - podejrzewam jakiś problem z Windowsem
Czy ktoś zechce mi pomóc ???

  • created

    Jun '21
  • last reply

    Jun '21
  • 7

    replies

  • 637

    views

  • 5

    users

  • 1

    like

  • 2

    links

Wklej kod tutaj do postu, załączniki tu nie działają

Teoretycznie przyczyna może tkwić w wersji gcc. Obecna to 9.2, w których to określone są reguły. Z ciekawości wrzuciłem to co na nagraniu innego autora, w filmiku z 2018 r. z typem funkcji void i nie otrzymałem takiego rezultatu tylko debuger zwrócił błąd - używam Codeblock 20.03 i MinGW ze wspomnianą wersją gcc 9.2

Ja podejrzewam problemy z jakością i błędami w/w kursu …
Wolę korzystać z bardziej rzetelnych źródeł, ale zawsze “patrzę na ręce autora” i sprawdzam czy czasm się gdzieś nie mylił lub czy czasmi nie wciska kitu i głupot.

Przy okazji przeczytaj koniecznie: Jeśli zaczynasz, przeczytaj koniecznie! <--kliknij w to proszę!

Teoretycznie, ale praktycznie, moim zdaniem to wina błędnego kodu. Poprawny kod, nie wykorzystujący “fjuczerów” z najnowszych wersji kompilatora, skompiluje się i będzie działał poprawnie i w wersji 9.2 i wersji 4.0. Błędny kod, będzie błędny nawet i w najnowszej wersji i basta! Chyba, że [in future] najnowszy kompilator będzie poprawaiał błędy autora kodu.
Nie ma czegoś takiego jak “obecna wersja gcc”. Obowiązująca jest wersja taka jaką ma zainstalowaną użytkownik, w tym wypadku spoj, a nie jaką używa programista/coder. A na spoju jak jest każdy widzi. Jest wersja C++14 (gcc 8.3) ale także inne wersje i tego powinniśmy się trzymać [i basta?]. [sorry nie mogłem się powstrzymac ;-)]

Więc może pomogłoby odinstalowanie windows’a i zainstalowanie linuxa? Ale to raczej nie dla początkujących.

Witam i dziękuję za wykazaną chęć pomocy
Pozdrawiam Staszek
[#include using namespace std; int ile; int main() { cout << “Ile liczb w tablicy:”; cin >>ile; inttablica; tablica=new int[ile]; for(int i=0;i<ile;i++) { cout <<tablica <<endl; tablica++; } delete []tablica; return 0; }](http://#include using namespace std; int ile; int main() { cout << “Ile liczb w tablicy:”; cin >>ile; inttablica; tablica=new int[ile]; for(int i=0;i<ile;i++) { cout <<tablica <<endl; tablica++; } delete []tablica; return 0; })

Który to jest wiersz 16 we wklejonym kodzie?

  1. wskazane jest przekazanie kodu programu, jako linku do ideone.com2, tam też można testować program, jeżeli z jakiegoś powodu wklejamy kod, to należy to zrobić POPRAWNIE (czyli używając przycisku ‘</>’ [narbej: najpierw zaznaczamy myszką CAŁY wklejony kod i potem klikamy w tą ikonkę lub używamy klawiszy CTRL+SHIFT+C ]

to co wkleiłem to fragment z linku "Jeśli zaczynasz, przeczytaj koniecznie! <–kliknij w to proszę! "