Problem with string initializer

Manfred Hollstein manfredh@redhat.com
Wed Jun 28 12:34:00 GMT 2000


On Wed, 28 June 2000, 15:28:27 -0400, vonbrand@inf.utfsm.cl wrote:

> Andreas Schwab <schwab@suse.de> said:
> > The following input to the C++ compiler will result in an error:
> > 
> > $ cat string.cc
> > char x[] = {"asdf"};
> > $ g++ -v string.cc
> 
> [...]
> 
> > string.cc:1: initializer-string for array of chars is too long
> > 
> > The error does not occur if the braces are omitted.
> 
> Hummm... it should probably complain that you are trying to initialize a
> char (x[0]) with a const char * ("asdf"). If there are no braces, there is
> no error.

You're absolutely right, that was my immediate response; BUT, then
at least gcc-2.95.2 is wrong, which compiles this without notice...

Cheers.

l8er
manfred


More information about the Gcc-bugs mailing list