On Mar 24, 1:57 am, Ben Bacarisse <ben.use...@bsb.me.uk> wrote:
> Old Wolf <oldw...@inspire.net.nz> writes:
> > On Mar 22, 4:19 am, Ben Bacarisse <ben.use...@bsb.me.uk> wrote:
> >> Sensei <Sensei's e-mail is at Mac-dot-com> writes:
>
> >> > int x[];
>
> >> > would be an incomplete type. This quite puzzles me, since I don't
> >> > understand how x[] could then be used in a code block.
>
> >> It can't be.
>
> > In fact it can,
>
> Yes, and I went on to say this (albeit without an example).
You contradicted yourself, then. I don't think there is any
grounds to make an absolute statement "It can't be" (which
you made an entire paragraph on its own), when in fact it
can be, and it is not uncommon to do so in real code.
You mention the example of int x[]; but didn't mention at
all the much more common:
extern int x[];
> It seems
> rather unfair to clip that and claim I missed something.
I'm sure you didn't miss it personally, but I think it
is confusing to say the very least to say "Y is not possible."
and go on quoting more text from the original, and then later
down the page bury a sentence "except for..."
> It will become impossible to write explanations for people new to C if
> every statement must stand up when taken out of the context of the
> reply. If you wanted to explain this point to the OP, then you could
> have replied to their "I don't understand how x[] could then be used
> in a code block" (with a note to say you are taking "code block" to
> mean file-scope declarations).
I'm taking "code block" to mean stuff at block scope. The case
I am highlighting is the one where x is used at block scope,
as the OP said, but declared at file scope.
|