Passing Structs to function like in C
Engine Machine via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Aug 13 12:23:20 PDT 2016
On Friday, 12 August 2016 at 17:53:12 UTC, ag0aep6g wrote:
> On 08/12/2016 07:33 PM, Cauterite wrote:
>> Why would I not terminate a declaration with a semi-colon?
>> Why should a declaration not end in a semi-colon just because
>> the last
>> token is a brace?
>> Why should I not tell the lexer precisely where my declaration
>> ends
>> instead of relying on whatever other tokens floating around it
>> not
>> interfering?
>
> The semicolon is just noise. You're not helping the lexer at
> all. It goes by the braces, and doesn't see the semicolon as
> belonging to the function declaration. The semicolon creates
> another, empty declaration.
Then it should error if it doesn't accept ';'. If it accepts it
then it is legal. Your post is noise since it also is relatively
meaningless and just takes up space. Why is it no ok for him to
add a noisy ';' but it is ok for you to add noise to noise by
adding a noisy post?
> This is accepted as well, and means the same:
>
> ----
> ;;;
> void main() {}
> ;;;
> ----
>
>> Why must every thread in this forum contain more posts
>> regarding some
>> irrelevant tangent than posts responding to the original topic?
>
> This is a common mistake - more for structs, though, because of
> C syntax. So I point it out so that you can learn that there's
> no point to it in D, and so that others don't get the
> impression that it's the proper syntax.
It is not a mistake... only in your mind. If it was a mistake D
wouldn't allow it. Somewhere you picked up the mistake that
adding a semicolon to the end of a struct is a mistake. Maybe you
should unlearn that mistake?
There is no point in a lot of things, but pretending that life
depends on such trivial things is a much worse mistake, IMO.
More information about the Digitalmars-d-learn
mailing list