On Fri, Dec 09, 2016 at 08:04:11AM -0700, Martin Sebor wrote:
> I'm not sure I understand what you mean.  Since the following is
> valid and meaningful (i.e., initializes the array with  the elements
> of the string):
> 
>   struct Foo {
>    int a;
>    char ary[4];
>    Foo () : ary ("bob") {}
>   };

Sure, that has a clear meaning.

> then (IMO) so is this:
> 
>   struct Foo {
>    int a;
>    char ary[];
>    Foo () : ary ("bob") {}
>   };

So what does this mean?  Assume that the Foo object lives on the heap
and has been allocated with extra space after it?  Or shall global/automatic
objects of type Foo be allocated with the extra space (like
struct Foo x = { 5, "bob" }; in C would do if the Foo () ... line is
removed?
Something different?

        Jakub

Reply via email to