error: name lookup of ‘i’ changed for ISO ‘for’ scoping [-f
Napisane: wtorek, 19 lutego 2013, 19:47
Na linux używając kompilatora g++ zobaczycie taki błąd w lekcji 7 z liczbami pierwszymi w funkcji test().
Aby to chodziło poprownie kawałek kodu trza tochę zmienić . Nie wiem czemu takie zmiany wprowadzili,
jest to troche upierdliwie
.
Trzeba i zadeklarować wcześniej bo inaczej nie pozwoli wam go użyć w pentli do dzielenia modulo.
A że jest deklarowana wcześniej to for widzę ma tu wredny zwyczaj podnoszenia i++ już przy starcie
więc trza go wyżucić na dół pentli . Obie na linux biblioteki działąją i cmath i math.h .
Z tego co pisali na necie to zmienili trochę standarty ISO w kompilatorze itp ale się w to nie wczytywałem .
Aby to chodziło poprownie kawałek kodu trza tochę zmienić . Nie wiem czemu takie zmiany wprowadzili,
jest to troche upierdliwie

Code: Zaznacz cały
unsigned int i =2;
for( ; i <= sqrt(przyslana) ; )
{
//cout << "Debug : i ="<< i << " przyslana =" << przyslana <<endl;
if(!(przyslna % i))
{// cout << "Debug : i ="<< i << " przyslana =" << przyslana<<"fasle" <<endl;
return false;
}
i++;
}
A że jest deklarowana wcześniej to for widzę ma tu wredny zwyczaj podnoszenia i++ już przy starcie
więc trza go wyżucić na dół pentli . Obie na linux biblioteki działąją i cmath i math.h .
Z tego co pisali na necie to zmienili trochę standarty ISO w kompilatorze itp ale się w to nie wczytywałem .