Hi,

I have a class Ground which defines some playground constants (at least constant to the class):
```
    class Ground
    {
        immutable WALL = -2;
        immutable playgroundWidth = 77;
        immutable playgroundHeight = 22;

...
}
```
Now, in another class "Player", I would like to use those playground constants:
```
    import ground;
    class Player
    {
        this()
        {
            x = Ground::playgroundWidth/2;
            y = Ground::playgroundHeight/2;
        }
    ...
    }
```
I used the "::" notation as a reference to C++, but obviously here it does not compile: |Error: need `this` for `playgroundWidth` of type `immutable(int)`|

A class must have a "new" initialization in dlang, alright. But then I replaced immutable by enum in the playgroundWidth declaration, and it compiles fine with:
```
        enumplaygroundWidth = 77;
...
        x = Ground.playgroundWidth/2;
```
My question is : Is enum declaration the right way to go? Or did I just find a trick around the problem? Could not find anything in the documentation. Why enum works and immutable does not?

thanks


Reply via email to