`enum x;` - what is it?

Victor Porton porton at narod.ru
Wed Aug 19 14:43:22 UTC 2020


On Wednesday, 19 August 2020 at 14:06:16 UTC, Victor Porton wrote:
> This declaration does compile:
>
> enum x;
>
> But what is it? Is it an equivalent of
>
> enum x { }
>
> ?
>
> What in the specification allows this looking a nonsense
>
> enum x;
>
> ?

Oh, found: "An empty enum body (For example enum E;) signifies an 
opaque enum - the enum members are unknown."

But what this "unknown" does mean? How "unknown" differs from 
"none" in this context?

The specification is unclear. It does not define the meaning of 
unknown. I will submit a bug report.


More information about the Digitalmars-d-learn mailing list