Mega Code Archive

 
Categories / C++ Tutorial / Language Basics
 

Use function defined in a namespace

/* The following code example is taken from the book  * "The C++ Standard Library - A Tutorial and Reference"  * by Nicolai M. Josuttis, Addison-Wesley, 1999  *  * (C) Copyright Nicolai M. Josuttis 1999.  * Permission to copy, use, modify, sell and distribute this software  * is granted provided this copyright notice appears in all copies.  * This software is provided "as is" without express or implied  * warranty, and with no claim as to its suitability for any purpose.  */ #include <iostream> #include <cstdlib> namespace MyLib {     double readAndProcessSum (std::istream&); } int main() {     using namespace std;     double sum;     try {         sum = MyLib::readAndProcessSum(cin);     }     catch (const ios::failure& error) {         cerr << "I/O exception: " << error.what() << endl;         return EXIT_FAILURE;     }     catch (const exception& error) {         cerr << "standard exception: " << error.what() << endl;         return EXIT_FAILURE;     }     catch (...) {         cerr << "unknown exception" << endl;         return EXIT_FAILURE;     }     // print sum     cout << "sum: " << sum << endl; } #include <istream> namespace MyLib {     double readAndProcessSum (std::istream& strm)     {         double value, sum;         /* while stream is OK          * - read value and add it to sum          */         sum = 0;         while (strm >> value) {             sum += value;         }         if (!strm.eof()) {             throw std::ios::failure                     ("input error in readAndProcessSum()");         }         // return sum         return sum;     } } a I/O exception: input error in readAndProcessSum()