|
Boost Users : |
Subject: [Boost-users] [Multi-index] : code fail to compile with VS2010 and boost 1.46.1. Proposed workaround
From: Mathieu Peyréga (mathieu.peyrega_at_[hidden])
Date: 2011-05-02 06:47:50
Hello,
I had some code using boost 1.46.1 Multi-index library that used to
compile and work very well with VS2008.
I recently turned to VS2010 and some code is not compiling anymore.
The problem is located in the
boost_1_46_1\boost\multi_index\composite_key.hpp file and the compiler
complains about not being able to distinguish between ambiguous overloads...
I had to modify the composite_key.hpp file and have following changes :
line 1001 :
//return operator()(x,make_tuple(cref(y)));
return operator()(x,make_tuple(boost::cref(y)));
line 1036 :
//return operator()(make_tuple(cref(x)),y);
return operator()(make_tuple(boost::cref(x)),y);
In order to explicitely add the boost namespace for cref.
With those changes, it do compile and works very well.
Can those changes in composite_key.hpp break something else ? Is there
another workaround I would have missed ?
I'm suspecting some conflict with new TR1 things i'm not very familiar
with...
Best regards,
Mathieu Peyréga
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net