On Tuesday, 26 November 2013 06:46:11 UTC+2,
dar...@gmail.com wrote:
> On Sunday, November 24, 2013 2:07:57 PM UTC-5, Öö Tiib wrote:
> > On Sunday, 24 November 2013 19:48:20 UTC+2,
dar...@gmail.com wrote:
> > > I'm starting out on Visual Studio 2013 Express on my Windows 8.1 Pro laptop
> > > (upgraded from Windows 8 Pro and Vista). My code:
> >
> > snip
> >
> > > The third overload gives me the following error:
> >
> > ...
> >
> > > 1>c:\users\daryle\documents\github\arraymd\include\boost\container\array_md.hpp(1868): error C2440: 'return' : cannot convert from 'char [6]' to 'char (&&)[6]'
> >
> > You seemingly attempt something for what 'boost::container::array_md'
> > is not meant for. It is apparently not meant for providing rvalue
> > references to its elements.
>
> I am attempting something that is supposed to be possible. I know this
> because...
Yes, you already said you know it because 'std::get' works with 'std::array' and 'std::tuple'.
> > > I can't figure out how to adapt this. Help.
> >
> > May be write your own array that does support such strange thing then.
>
> ...I AM the writer of array_md! And I am trying to write an r-value overload
> for get, just like the Standard library has. My feat works just fine with GCC
> (4.7 and 4.8, MinGW versions). I just can't get it to work in MSVC. I know
> it's possible because MS's own libraries have r-value overloads for get. So why
> doesn't my version work?
Yes you have posted that the error is at line 1868 of array_md.hpp
that you maintain. So now write some own array that has same difficulty
exposed. It is likely that we discover a defect in MSVC of VS 2013 or that
we discover defect in your code or both or neither. Very interesting on all
the cases but ...
right now we can't help since we do not have enough information. :(