Dzień dobry,
Ostatnio zaobserwowałem, że zmienne zadeklarowane między klamrami pętli do ... while nie mogą być użyte dla określenia warunku tej pętli:
Przykładowy kod mojego problemu poniżej:
do {
int x;
cin >> x;
} while(x != 0);
błąd kompilatora:
error: ‘x’ was not declared in this scope
I stąd moje pytania wiecie może dlaczego to nie działa? Jakie są powody i racje tego? Bo z tego co wnioskuje, kompilator sprawdza czy obiekty wykorzystane w warunku istnieją przed użyciem tej pętli.
Wiem, że jak chcę, żeby zmienna była zniszczona po użyciu pętli jest wiele innych opcji, ale mnie ciekawi dlaczego ta właśnie nie działa.
Pozdrawiam serdecznie i dzięki za wszystkie odpowiedzi.