Re: C++ Primer ex 8.3
On Sat, 25 Aug 2007 20:07:03 +1000, Gianni Mariani wrote:
Also - this is broken - you need to initialize a reference.
i did and I also made some changes but then something else broke:
/* C++ Primer - 4/e
*
* Chapter 8, exercise 8.3
* STATEMENT
* write a function that takes and returns an istream&. the function
should read the stream untill it hits the EOF and should print what it
read to the standard output. reset the stream so that it is valid and
return the stream.
*
*/
#include <iostream>
#include <istream>
std::istream& stream_game( std::istream& i_strm) {
while( std::cin >> i_strm ) /* line #16 */
{
std::cout << i_strm;
}
std::istream.clear();
return i_strm;
}
int main()
{
int i;
std::istream& i_strm = (std::cin >> i); stream_game( i_strm );
return 0;
}
/* OUTPUT
~/programming/cpp $ g++ -ansi -pedantic -Wall -Wextra ex_08.03.cpp
ex_08.03.cpp: In function ?std::istream& stream_game(std::istream&)?:
ex_08.03.cpp:16: error: no match for ?operator>>? in ?std::cin >>
i_strm?
/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../../include/c++/4.2.1/istream:131:
note: candidates are: std::basic_istream<_CharT, _Traits>&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT,
_Traits>& (*)(std::basic_istream<_CharT, _Traits>&)) [with _CharT = char,
_Traits = std::char_traits<char>]
/usr/lib/gcc/i686-pc-linux-gnu/4.2.1/../../../../include/c++/4.2.1/istream:135:
note: std::basic_istream<_CharT, _Traits>&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_ios<_CharT,
_Traits>& (*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char,
_Traits = std::char_traits<char>]
.......................................................
...................................................... ex_08.03.cpp:21:
error: expected unqualified-id before ?.? token ~/programming/cpp $
*/
--
http://arnuld.blogspot.com