LINUX.ORG.RU

int stopwatch::stop()


0

0

Вчера начал изучать ООП. Решил использовать новые знания (очень малые) и написать кое-чего. Но здесь происходит сбой почему?:

int stopwatch::stop(){
char ch;
while((cin >> ch) != 's'){}
return 1;
}
$ g++ -o const_test const_test.cpp

const_test.cpp: In member function `int stopwatch::stop()':
const_test.cpp:28: no match for `std::basic_istream<char, std::char_traits<char> >& != char' operator что это значит понятия не имею!
Помогите решить эту траблу!

anonymous

Потому что >> это перегруженный оперратор для типа std::istream
И его возвращаемое значение это тоже std::istream& Соответственно,
операция сравнения потока с символом не имеет смысла.
Т.е. нужно что-то типа
while(!std::cin.eof()){
char c; std::cin >> c;
if(c == 's') break;
}

Flogger_d
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.