This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: missing ctor & initor for reference not detected


David C. Binderman wrote:
> Hello there,
> 
> Given the following code on machine i486-pc-linux-gnulibc1, with
> compiler G++ in egcs-980302, I was surprised to find that it compiled ok.
> 
> struct A
> {
>         int & ri;
> };
> 
> I even tried flags -O -Wall -ansi -pedantic, and the code still compiled !
Again, this is not an error.  If you want an error, add these lines:

A a; // ERROR! Can't have a struct with uninitialized reference members.

A* pa;

A a2(*pa); // OK.  The default copy c'tor inits a2.ri with pa->ri.

int i;

A a3={i}; // OK.  Use array initializer to make a3.ri a reference to i.

-- 
Ian Haggard  ||  ian@shellus.com (work)  ||  IanHaggard@juno.com (home)
GNU/Linux -- "Oh, no, Mr Bill!" || #define employer_opinion !my_opinion


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]