Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, MikelSV, Вы писали:
MSV>>Ладно, с LIBCD.lib разобрался, пришлось перекомпилировать библиотеку.
MSV>>Но вот вопрос он что долбанулся :wow: ?
MSV>>С какого перепугу
MSV>>for (int i=0;i<8;i++){}
MSV>>i=1;
MSV>>выдает ошибку, т.е. i остается только в for. приходится int i; перед forами писать.
MSV>>Еще приходится дописывать double. Тоже не радует.
MSV>>st=int(pow(2,double(i+1)));
А>Насчет того что не компилилась libcd.lib то возможно у тебя либа в релизе а ты пытаешься в дебаге собраться или наоборот. Насчет i в цикле: какая-то опция компайлера есть которая при записи for(int i=0;i<8;i++){} позволяет указать оставлять ли переменную в цикле или видеть ее и дальше.
А>С уважением, Игорь.
Зарегистрился наконец-то.
вот из мсдна фрагмент:
The C++ standard says that a variable declared in a for loop shall go out of scope after the for loop ends. For example:
for (int i = 0 ; i < 5 ; i++) {
// do something
}
// i is now out of scope under /Za or /Zc:forScope
By default, under /Ze, a variable declared in a for loop remains in scope until the for loop's enclosing scope ends.
/Zc:forScope enables standard behavior of variables declared in for loops without needing to specify /Za.
It is also possible to use the scoping differences of the for loop to redeclare variables under /Ze as follows:
// for_statement5.cpp
int main(){
int i = 0; // hidden by var with same name declared in for loop
for ( int i = 0 ; i < 3; i++ ) {}
for ( int i = 0 ; i < 3; i++ ) {}
}