Boost C++ Libraries: Ticket #10345: Distance fails to compile for some coordinate types https://svn.boost.org/trac10/ticket/10345 <p> Using Boost 1.56 and Visual C++ (2010, 2012, and 2013) the following code fails to compile and it used to work in 1.55. </p> <div class="wiki-code"><div class="code"><pre> <span class="cp">#include</span> <span class="cpf">&quot;stdafx.h&quot;</span><span class="cp"></span> <span class="cp">#include</span> <span class="cpf">&lt;string&gt;</span><span class="cp"></span> <span class="cp">#include</span> <span class="cpf">&lt;fstream&gt;</span><span class="cp"></span> <span class="cp">#include</span> <span class="cpf">&lt;streambuf&gt;</span><span class="cp"></span> <span class="cp">#include</span> <span class="cpf">&lt;boost/geometry.hpp&gt;</span><span class="cp"></span> <span class="cp">#include</span> <span class="cpf">&quot;boost/geometry/geometry.hpp&quot;</span><span class="cp"></span> <span class="cp">#include</span> <span class="cpf">&lt;boost/geometry/algorithms/distance.hpp&gt;</span><span class="cp"></span> <span class="cp">#include</span> <span class="cpf">&lt;boost/geometry/io/io.hpp&gt;</span><span class="cp"></span> <span class="k">namespace</span> <span class="n">bg</span> <span class="o">=</span> <span class="n">boost</span><span class="o">::</span><span class="n">geometry</span><span class="p">;</span> <span class="k">using</span> <span class="k">namespace</span> <span class="n">std</span><span class="p">;</span> <span class="kt">int</span> <span class="nf">_tmain</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="n">_TCHAR</span><span class="o">*</span> <span class="n">argv</span><span class="p">[])</span> <span class="p">{</span> <span class="k">typedef</span> <span class="n">bg</span><span class="o">::</span><span class="n">model</span><span class="o">::</span><span class="n">point</span><span class="o">&lt;</span><span class="kt">double</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="n">bg</span><span class="o">::</span><span class="n">cs</span><span class="o">::</span><span class="n">spherical_equatorial</span><span class="o">&lt;</span><span class="kt">double</span><span class="o">&gt;&gt;</span> <span class="n">mypt</span><span class="p">;</span> <span class="k">typedef</span> <span class="n">bg</span><span class="o">::</span><span class="n">model</span><span class="o">::</span><span class="n">polygon</span><span class="o">&lt;</span><span class="n">mypt</span><span class="o">&gt;</span> <span class="n">mypoly</span><span class="p">;</span> <span class="n">mypoly</span> <span class="n">poly</span><span class="p">;</span> <span class="n">mypt</span> <span class="n">pto</span><span class="p">(</span><span class="o">-</span><span class="mf">122.13865</span><span class="p">,</span> <span class="mf">38.69311</span><span class="p">);</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">str</span> <span class="o">=</span> <span class="s">&quot;POLYGON((-122.07493 37.62602,-122.07585 37.626158,-122.07638 37.6258760,-122.076338 37.6253233,-122.075417 37.625003,-122.074693 37.62521,-122.0744 37.625605,-122.07449 37.625765,-122.07449 37.6257,-122.07493 37.62602))&quot;</span><span class="p">;</span> <span class="n">bg</span><span class="o">::</span><span class="n">read_wkt</span><span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="n">poly</span><span class="p">);</span> <span class="kt">double</span> <span class="n">aa</span> <span class="o">=</span> <span class="n">bg</span><span class="o">::</span><span class="n">distance</span><span class="p">(</span><span class="n">pto</span><span class="p">,</span> <span class="n">poly</span><span class="p">);</span> <span class="c1">// in m</span> <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> <span class="p">}</span> </pre></div></div><p> The same failure happens for spherical and geographic coordinate systems, but works fine for cartesian coordinates. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10345 Trac 1.4.3 mkaravel Tue, 12 Aug 2014 22:49:46 GMT owner changed; cc set https://svn.boost.org/trac10/ticket/10345#comment:1 https://svn.boost.org/trac10/ticket/10345#comment:1 <ul> <li><strong>cc</strong> <span class="trac-author">mkaravel</span> added </li> <li><strong>owner</strong> changed from <span class="trac-author">Barend Gehrels</span> to <span class="trac-author">mkaravel</span> </li> </ul> Ticket mkaravel Tue, 21 Oct 2014 21:20:53 GMT status, milestone changed; resolution set https://svn.boost.org/trac10/ticket/10345#comment:2 https://svn.boost.org/trac10/ticket/10345#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.57.0</span> </li> </ul> Ticket