This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 971127 array initialization problem!?!
- To: robert at physiol dot med dot tu-muenchen dot de (Robert Wilhelm)
- Subject: Re: 971127 array initialization problem!?!
- From: Joe Buck <jbuck at synopsys dot com>
- Date: Mon, 1 Dec 97 9:46:07 PST
- Cc: Lassi dot Tuura at cern dot ch, neal at ctd dot comsat dot com, egcs at cygnus dot com, g++ at cygnus dot com
> On Mon, Dec 01, 1997 at 08:52:19AM +0100, Lassi A. Tuura wrote:
> > neal@ctd.comsat.com wrote:
> > > QBitmap* y = new QBitmap[5](2,2);
> >
> > This is not valid C++ syntax -- initialisers are not allowed in
> > array-new expression. Code like this used to compile with g++, but I
> > don't know if it ever was officially supported GNU extension. If the
> > feature has been removed, the diagnostic could be improved...
> >
>
> Would the g++ maintainers accept patches to restore the old behavior?
>
> I have quite a lot of code which depends on
> this unofficial behavior :-(
I would advise against it. g++ can't carry baggage forever. I'd like
for us to encourage people to write C++ and do a good job compiling it,
rather than encourage them to write a different language called "g++".
As for your "quite a lot of code", use vectors to get the same effect:
vector<QBitmap> y(5, QBitmap(2,2));
If you must have C arrays, you could use placement new to do the
construction.