Операторная область видимости

Задания раздела 5.2
5.4. Объясните каждый из следующих примеров, а так же устраните все обнаруженные проблемы.
(a) while (string::iterator iter!=s.end()) { /* ... */  }
(b) while (bool status=find(word)) { /* ... */ }
if (!status) { /* ... */ }

5.2


5.4. Объясните каждый из следующих примеров, а так же устраните все обнаруженные проблемы.
(a) while (string::iterator iter!=s.end()) { /* ... */  }
(b) while (bool status=find(word)) { /* ... */ }
if (!status) { /* ... */ }

Значение объекта, определенного в управляющей структуре, используется самой структурой, поэтому такие переменные следует инициализировать.
(a) while (string::iterator iter!=s.end()) { /* ... */  }

string::iterator iter=s.begin();
while (iter!=s.end()) { /* ... */  }

(b) while (bool status=find(word)) { /* ... */ }
if (!status) { /* ... */ }
Здесь надо бы переставить закрывающую скобку

while (bool status=find(word)) { /* ... */ 
if (!status) { /* ... */ } }
а для проверки программа такая:
#include <iostream>
int main()
{
int i=1;
while (bool status=i) { /* ... */
if (!status) { return(-1); }
return(0);
}
}

Добавить комментарий