Boost C++ Libraries: Ticket #6920: interprocess::string error under vs2005 https://svn.boost.org/trac10/ticket/6920 <pre class="wiki">#include &lt;boost/interprocess/containers/string.hpp&gt; struct Test { boost::interprocess::string s; }; int main() { { Test const test; Test test2 = test; // ok test2 = test; // error C2679 } { boost::interprocess::string const test; // ok boost::interprocess::string test2 = test; // ok test2 = test; // ok } return 0; } </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6920 Trac 1.4.3 Ion Gaztañaga Sat, 14 Jul 2012 15:29:18 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/6920#comment:1 https://svn.boost.org/trac10/ticket/6920#comment:1 <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">wontfix</span> </li> </ul> <p> Sorry, but this is a limitation imposed by Boost.Move: </p> <p> <a href="http://www.boost.org/doc/libs/1_50_0/doc/html/move/emulation_limitations.html#move.emulation_limitations.assignment_operator">http://www.boost.org/doc/libs/1_50_0/doc/html/move/emulation_limitations.html#move.emulation_limitations.assignment_operator</a> </p> <p> There is no known workaround, and move semantics are too importante to be left out. You will need to declare the copy assignment explicitly to be able to compile your code. </p> Ticket