static const (D 1.x)

Don Clugston dac at nospam.com.au
Fri Sep 21 04:46:33 PDT 2007


Bill Baxter wrote:
> I've got a situation like this:
> 
> struct A
> {
>   opEquals
>   int idx = -1;
> }
> 
> 
> class Foo(Type)
> {
>    ...
>    static const A  StaticA;
> }
> 
> 
> But it doesn't work when I try to do something like this in a function:
> 
> 
>    A myA;
> 
>    if (myA == Foo!(Type).StaticA) { // <-- error here
>    }
> 
> The error I get is:
>    Error: can only initialize static const StaticA inside static 
> constructor
> 
> Is this a bug?
> I notice that it compiles if I make StaticA just "static" instead of 
> "static const".
> 
> At the very least the compiler error text seems wrong since I'm not 
> trying to initialize anything.
> 
> --bb

Is StaticA getting initialized somewhere?
If not, that's probably the root cause (and the error message is a bit misleading).


More information about the Digitalmars-d-learn mailing list