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)