Liste des Groupes | Revenir à cl c |
On 2025-04-09, bart <bc@freeuk.com> wrote:Someone, not anyone but the all-knowing Tim, said: "and those types are not compatible, because the two struct tags are different."I'm not sure what your gripe is other than maybe I picked up onWhen you remove the tag from a struct definition, the implementation
something you got wrong. The discussion was about two struct types like
this:
>
typedef struct tag1 {...} T1;
typedef struct tag2 {...} T2;
>
and whether T1 and T2 were compatible or not. You said:
>
"and those types are not compatible, because the two struct tags are
different."
>
In this case the tags would be "tag1" and "tag2". I then said:
>
"I get an incompatible error (from the example you snipped) even when I
remove both struct tags."
behaves as if it were implementing a unique tag which is different
from any other such tag, and any tag that can possibly be written
using textual syntax.
How did you implement tagless struct declarations in your compiler?
That means removing "tag1" and "tag2" so the example above looks like this:So if you close your eyes, two things that were different are now
>
typedef struct {...} T1;
typedef struct {...} T2;
>
Here, you can't say the struct tags are different, as they are not
visible!
no longer different, since they are invisible?
The tag is a property of the type, not of printed type declaration.
A struct type has a tag. If the declaration doesn't show one,This is quite irrelevant, since 'gravity' will be defined somewhere in the source code, but you are talking about some internal attribute that may or may not be used by an implementation.
that doesn't mean it doesn't have a tag.
If a "Simulation" object has a "gravity" member, do you conclude
that a given simulation has no gravity, because the constructor
omitted specifying it?
Simulation s = new Simulation(windSpeed = 35.7)
Why don't you just tell me?As I concluded, your assertion about compatibility being based on tagsOr, you know, you could stop caring about what someone wrote in
being the same or not didn't seem right.)
comp.lang.c, be they right or wrong, and ... look it up?
Les messages affichés proviennent d'usenet.