title: Stroustrup's Graph.h
body: <p>I am working my way through "Programming Principles..." by Stroustrup. I am trying to get one simple window program compiled, and have had no luck on linux or windows.</p>
  
  <p>Eventually, after multiple problems I am trying to include Graph.h that I got from his site and nothing else. My errors are as follows (and I have no idea what to do now since I assume his code is correct)</p>
  
  <pre><code>$ g++ window.cpp
  In file included from /usr/include/c++/4.5/ext/hash_map:60:0,
                   from /home/nathan/Documents/c++/std_lib_facilities.h:34,
                   from /usr/include/c++/4.5/Window.h:12,
                   from window.cpp:1:
  /usr/include/c++/4.5/backward/backward_warning.h:28:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
  In file included from window.cpp:2:0:
  /usr/include/c++/4.5/Graph.h: In constructor ‘Graph_lib::Rectangle::Rectangle(Point, Point)’:
  /usr/include/c++/4.5/Graph.h:203:43: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘&lt;unresolved overloaded function type&gt;’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h:203:55: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘&lt;unresolved overloaded function type&gt;’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h: In constructor ‘Graph_lib::Circle::Circle(Point, int)’:
  /usr/include/c++/4.5/Graph.h:286:26: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h:286:32: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h: In member function ‘Point Graph_lib::Circle::center() const’:
  /usr/include/c++/4.5/Graph.h:290:49: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘const int’ to binary ‘operator+’
  /usr/include/c++/4.5/Graph.h:290:63: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘const int’ to binary ‘operator+’
  /usr/include/c++/4.5/Graph.h: In member function ‘void Graph_lib::Circle::set_radius(int)’:
  /usr/include/c++/4.5/Graph.h:292:57: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h:292:71: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’`enter code here`
  /usr/include/c++/4.5/Graph.h: In constructor ‘Graph_lib::Ellipse::Ellipse(Point, int, int)’:
  /usr/include/c++/4.5/Graph.h:302:33: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h:302:40: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h: In member function ‘Point Graph_lib::Ellipse::center() const’:
  /usr/include/c++/4.5/Graph.h:306:49: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘const int’ to binary ‘operator+’
  /usr/include/c++/4.5/Graph.h:306:62: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘const int’ to binary ‘operator+’
  /usr/include/c++/4.5/Graph.h: In member function ‘Point Graph_lib::Ellipse::focus1() const’:
  /usr/include/c++/4.5/Graph.h:309:55: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator+’
  /usr/include/c++/4.5/Graph.h:311:66: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator+’
  /usr/include/c++/4.5/Graph.h: In member function ‘Point Graph_lib::Ellipse::focus2() const’:
  /usr/include/c++/4.5/Graph.h:316:55: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h:318:66: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h: In member function ‘void Graph_lib::Ellipse::set_major(int)’:
  /usr/include/c++/4.5/Graph.h:322:56: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h:322:70: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h: In member function ‘void Graph_lib::Ellipse::set_minor(int)’:
  /usr/include/c++/4.5/Graph.h:324:56: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h:324:69: error: invalid operands of types ‘&lt;unresolved overloaded function type&gt;’ and ‘int’ to binary ‘operator-’
  /usr/include/c++/4.5/Graph.h: In member function ‘void Graph_lib::Image::set_mask(Point, int, int)’:
  /usr/include/c++/4.5/Graph.h:372:65: error: cannot resolve overloaded function ‘x’ based on conversion to type ‘int’
  /usr/include/c++/4.5/Graph.h:372:74: error: cannot resolve overloaded function ‘y’ based on conversion to type ‘int’
  </code></pre>
  
  <p>Don't know if it is a faux pas to paste all my code, but anyway.
  I have looked everywhere and have been trying for two days. I am now reasonably frustrated. Please help.</p>