title: Compilation error when templating my class on coordinate type and using Boost Geometry library
body: <p>I'm writing a library code on top of Boost Geometry library. My class should be templated on the coordinate type (usually int/float/double etc.).
  The code below (stripped down to bare minimum) doesn't compile and I get a compilation error that doesn't help me.</p>
  
  <p>The code:</p>
  
  <pre><code>#include &lt;boost/geometry.hpp&gt;
  #include &lt;boost/geometry/geometries/point.hpp&gt;
  
  template &lt;typename CoordType&gt;
  class MyClass {
  public:
      typedef boost::geometry::model::point&lt;CoordType, 2, boost::geometry::cs::cartesian&gt; MyPoint;
      CoordType getX(const MyClass&lt;CoordType&gt;::MyPoint &amp;p) const { return p.get&lt;0&gt;(); }
  };
  </code></pre>
  
  <p>The error:</p>
  
  <pre><code>test.cpp: In member function 'CoordType MyClass&lt;CoordType&gt;::getX(const MyClass&lt;CoordType&gt;::MyPoint&amp;) const':
  test.cpp:8:82: error: expected primary-expression before ')' token
  </code></pre>
  
  <p>I'm compiling this code with: <code>g++ -I./boost_1_54_0 test.cpp -o test.o</code>. I used different versions of G++ 4.5.2/4.7.2/4.8.1, but I still get the same error.</p>
  
  <p>What am I missing here?
  Thanks in advance.</p>