4 Aug
2013
4 Aug
'13
7:35 p.m.
On 8/4/2013 8:57 AM, gast128 wrote:
Dear all,
I get a compilation error with Boost.Variant (which compiles fine on previous releases) with vstudio 2010 when a function returns a const Boost.Variant, e.g.:
typedef boost::variant
Variant; const Variant GetVar() { return Variant(); }
void TestVariantDnc() { const Variant var = GetVar(); }
This gives error C2666 ('boost::variant
::convert_construct' : 3 overloads have similar conversions'). Shall a file a ticket or do I something wrong?
Returning a 'const X' is meaningless. Just return 'X' instead. The same goes for passing something as 'const X'. When you pass or return by value you get a copy of the object being passed so it means nothing to say that the object is 'const'.