Boost logo

Boost :

From: Dave Gomboc (dave_at_[hidden])
Date: 2001-11-03 00:37:44


> You may be out of luck - although the std lib shipping with vc7 has a
> conforming reverse_iterator, it doesn't actually work if you try and
> instantiate a std::reverse_iterator<T*> (as the array test programs
do).
> This isn't really a configuration issue - you may be able to get some
code
> to compile if you modify array.hpp to use the standard
reverse_iterator
> form, but it will still be broken, sorry.

I hacked the header file to use the top set of declarations (I wasn't
using the reverse_iterator anyway, I just needed boost::array.hpp to
compile!), now I'm getting C2552 (non-aggregates cannot be initialized
with an aggregate list). AFAIK boost::array is specifically designed to
be a "plain old data-type (POD)".

Hold up -- I just realised that VC7 specifically complains because I'm
using "const int" instead of "int". Hmm, g++3 takes this... but since
VC7's error message is so explicit, I take it that g++ is wrong to do
so?

Also, VC7 simply rejects doubling up the braces ( = {{ 1, 2, 3, }} ),
though g++ warns against not including them. Ah well, that I can live
with. ;-)

Dave Gomboc


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk