Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #390135

Re: Struct Error

From Michael S <already5chosen@yahoo.com>
Newsgroups comp.lang.c
Subject Re: Struct Error
Date 2025-01-24 16:37 +0200
Organization A noiseless patient Spider
Message-ID <20250124163740.00006281@yahoo.com> (permalink)
References <vmr5gg$137jo$1@dont-email.me> <vms4km$19srg$1@dont-email.me> <vmt74h$1jac0$1@dont-email.me>

Show all headers | View raw


On Thu, 23 Jan 2025 10:54:10 +0000
bart <bc@freeuk.com> wrote:

> On 23/01/2025 01:05, James Kuyper wrote:
> > On 2025-01-22, bart <bc@freeuk.com> wrote:  
> >> Gcc 14.1 gives me an error compiling this code:
> >>
> >>     struct vector;
> >>     struct scenet;
> >>
> >>     struct vector {
> >>         double x;
> >>         double y;
> >>         double z;
> >>     };
> >>
> >>     struct scenet {
> >>         struct vector center;
> >>         double radius;
> >>         struct scenet (*child)[];
> >>     };  
> > 
> > 6.7.6.2p2: "The element type shall not be an incomplete or function
> > type."
> > 
> > I have many draft versions of the C standard. n2912.pdf, dated
> > 2022-06-08, says in 6.7.2.1.p3 about struct types that "... the
> > type is incomplete144) until immediately after the closing brace of
> > the list defining the content, and complete thereafter."
> > 
> > Therefore, struct scenet is not a complete type until the closing
> > brace of it's declaration.  
> 
> Wouldn't this also be the case here:
> 
>     struct scenet *child;
>    };
> 

Just to point out if it was not said already: the problem is not related
specifically to recursive structures. It applies to arrays of
incomplete types in all circumstances.

struct bar;
struct bar (*bag)[]; // error
typedef struct bar (*bat)[]; // error

The case of the recursive structure is special only in a sense that it's
o.k. in C++, because [unlike C] in C++ struct considered complete within
its own body.

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Struct Error bart <bc@freeuk.com> - 2025-01-22 16:14 +0000
  Re: Struct Error Kaz Kylheku <643-408-1753@kylheku.com> - 2025-01-22 20:05 +0000
    Re: Struct Error Ben Bacarisse <ben@bsb.me.uk> - 2025-01-22 21:00 +0000
  Re: Struct Error Richard Harnden <richard.nospam@gmail.invalid> - 2025-01-22 20:08 +0000
  Re: Struct Error Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-01-22 22:27 +0000
  Re: Struct Error James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-01-22 20:05 -0500
    Re: Struct Error learningcpp1@gmail.com (m137) - 2025-01-23 03:49 +0000
      Re: Struct Error Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-22 23:15 -0800
      Re: Struct Error James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-01-23 03:37 -0500
    Re: Struct Error Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-22 23:31 -0800
    Re: Struct Error bart <bc@freeuk.com> - 2025-01-23 10:54 +0000
      Re: Struct Error BGB <cr88192@gmail.com> - 2025-01-23 14:58 -0600
        Re: Struct Error bart <bc@freeuk.com> - 2025-01-24 00:51 +0000
          Re: Struct Error BGB <cr88192@gmail.com> - 2025-01-24 00:27 -0600
          Re: Struct Error David Brown <david.brown@hesbynett.no> - 2025-01-24 09:45 +0100
            Re: Struct Error Kaz Kylheku <643-408-1753@kylheku.com> - 2025-01-24 20:31 +0000
              Re: Struct Error bart <bc@freeuk.com> - 2025-01-24 22:53 +0000
              Re: Struct Error James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-01-24 20:53 -0500
          Re: Struct Error James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-01-24 08:43 -0500
            Re: Struct Error bart <bc@freeuk.com> - 2025-01-24 23:32 +0000
      Re: Struct Error Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-01-23 23:50 +0000
        Re: Struct Error bart <bc@freeuk.com> - 2025-01-24 00:37 +0000
          Re: Struct Error Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-01-24 00:57 +0000
            Re: Struct Error Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-01-23 17:23 -0800
            Re: Struct Error bart <bc@freeuk.com> - 2025-01-24 01:27 +0000
      Re: Struct Error James Kuyper <jameskuyper@alumni.caltech.edu> - 2025-01-24 08:24 -0500
      Re: Struct Error Michael S <already5chosen@yahoo.com> - 2025-01-24 16:37 +0200
        Re: Struct Error bart <bc@freeuk.com> - 2025-01-26 19:14 +0000
          Re: Struct Error Michael S <already5chosen@yahoo.com> - 2025-01-26 23:14 +0200
          Re: Struct Error Kaz Kylheku <643-408-1753@kylheku.com> - 2025-01-27 04:05 +0000
            Re: Struct Error bart <bc@freeuk.com> - 2025-01-27 20:19 +0000
          Re: Struct Error Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-29 02:59 -0800
            Re: Struct Error bart <bc@freeuk.com> - 2025-01-29 11:36 +0000
              Re: Struct Error Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-30 11:51 -0800
            Re: Struct Error Richard Damon <richard@damon-family.org> - 2025-01-29 07:32 -0500
              Re: Struct Error Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-29 07:52 -0800
  Re: Struct Error Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-01-22 23:11 -0800
  Re: Struct Error Andrey Tarasevich <noone@noone.net> - 2025-02-02 20:35 -0800

csiph-web