Boost C++ Libraries: Ticket #12466: property_tree::string_path<StringT, TranslatorT>'s operator / won't accept StringT as an argument https://svn.boost.org/trac10/ticket/12466 <p> A very simple example of the problem can be seen with this code: </p> <div class="wiki-code"><div class="code"><pre><span class="n">boost</span><span class="o">::</span><span class="n">property_tree</span><span class="o">::</span><span class="n">path_of</span><span class="o">&lt;</span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">&gt;::</span><span class="n">type</span> <span class="n">path</span><span class="p">(</span><span class="s">&quot;parent&quot;</span><span class="p">);</span> <span class="n">std</span><span class="o">::</span><span class="n">string</span> <span class="n">component</span><span class="p">(</span><span class="s">&quot;child&quot;</span><span class="p">);</span> <span class="n">path</span> <span class="o">/</span> <span class="n">component</span><span class="p">;</span> </pre></div></div><p> This produces an error of "no match for operator/". I have tested this on G++ 6.2.0, VS 14 Update 3, and Apple's clang-800.0.38, and they all produce roughly the same error. This issue can be worked around by replacing the third line with <code>path / boost::property_tree::path_of&lt;std::string&gt;::type(component)</code> or <code>path / component.c_str();</code>, as those types are both explicitly overloaded. Adding an additional overload for the String type will fix this issue. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12466 Trac 1.4.3