Problem: Error name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]
Ostatnio zmodyfikowano 2015-06-01 13:53
ktosktos Temat założony przez niniejszego użytkownika |
Problem: Error name lookup of 'i' changed for ISO 'for' scoping [-fpermissive] » 2015-05-30 19:35:48 Witam, mam następujący problem, kiedy próbuje stworzyć taki program ↓ to wyskakuje mi błąd:Error name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]. Co mam zrobić? Z góry dziękuje ☺. #include <iostream>
using namespace std;
int main() { for( int i = 15; i >= 0; i - 1 ); { cout << i << endl; } cout << "START"; return 0; |
|
Gibas11 |
» 2015-05-30 19:50:52 Ale dużo błędów :O 1.) Wrzucaj cały kod, uciąłeś ostatni nawias. 2.) Wywal ';' po "for( int i = 15; i >= 0; i - 1 )". 3.) Zamiast "endl" używaj '\n' (razem z apostrofami), kod będzie szybszy (niezauważalnie, ale zawsze coś). 4.) Zamiast "i - 1" wstaw "i -= 1" lub "i--", inaczej pętla będzie wykonywać się w nieskończoność. 5.) Nie używaj nawiasów klamrowych jeżeli w pętli for (albo if'ie itp.) masz tylko jedną instrukcję, kod będzie bardziej przejrzysty. Tu masz poprawiony kod: #include <iostream>
using namespace std;
int main() { for( int i = 15; i >= 0; i-- ) cout << i << '\n'; cout << "START"; return 0; }
Mam nadzieję, że pomogłem :) |
|
ktosktos Temat założony przez niniejszego użytkownika |
» 2015-05-30 20:36:06 Dziękuje za pomoc :) Jestem początkująca. Jeszcze. ;) |
|
michal11 |
» 2015-05-31 19:37:30 @Gibas11 Zamiast "endl" używaj '\n' (razem z apostrofami), kod będzie szybszy (niezauważalnie, ale zawsze coś). |
Skąd takie dane ? Jeżeli niezauważalnie to po co to stosować ? Nie używaj nawiasów klamrowych jeżeli w pętli for (albo if'ie itp.) masz tylko jedną instrukcję, kod będzie bardziej przejrzysty. |
Z tym akurat się nie zgodzę, nie ma nic bardziej nieczytelnego jak brak nawiasów przy dużej ilości zagnieżdżonych instrukcji. |
|
pekfos |
» 2015-05-31 20:13:56 Ale dużo błędów :O [..] Zamiast "endl" używaj '\n' (razem z apostrofami), kod będzie szybszy (niezauważalnie, ale zawsze coś). |
Co za bzdura.. Chcesz oszczędzać na paru wywołaniach w obliczu gigantycznych opóźnień przy wysyłaniu danych na wyjście..? Wypisanie '\n' i endl to nie są nawet równoznaczne w działaniu zapisy. Kurs uczy endl nie bez powodu. |
|
C-Objective |
» 2015-06-01 13:53:11 Hmm. A może i to prawda? Endl - 3,6 \n - 2,2
Podałem średnią cykli procesora dla procka 2 GHZ :) Pomiary wykonane 5 razy. |
|
« 1 » |