enum for beginners

Timon Gehr timon.gehr at gmx.ch
Mon Nov 14 14:32:48 PST 2011


On 11/14/2011 11:25 PM, Johannes Totz wrote:
> Hi!
>
> I'm having trouble with named typed enums.
> This works (unnamed):
>
> enum : string
> {
> a = "a",
> b = "b"
> }
>
> int main(string[] argv)
> {
> writeln(a);
> return 0;
> }
>
>
> But this does not:
>
> enum X : string
> {
> a = "a", // Error: Integer constan

t expression expected
> // instead of "a"
> b = "b" // Error: Integer constant expression expected
> // instead of "b"
> }
>
> int main(string[] argv)
> {
> writeln(X.a);
> return 0;
> }
>
>
> What did I miss?
>

I don't know. It works for me.

import std.stdio;

enum X : string{
     a = "a",
     b = "b",
}


int main(string[] argv) {
     writeln(X.a);
     return 0;
}

compiles, runs and prints "a" as expected.

Are you using the latest version of the compiler? (DMD v2.056)


















More information about the Digitalmars-d-learn mailing list