August 08, 2010 TDPL enum greet = "Hello"; | ||||
---|---|---|---|---|
| ||||
Hi all, On page 273 of TDPL, we have: enum euler = 2.78; euler = 2.73 // Error! Cannot modify enum value! But with D 2.047 I can do: enum greet = "Hello"; greet = "Ciao"; // Ok? So the question is, enumerated values are constant? Cheers, Paolo |
August 08, 2010 Re: TDPL enum greet = "Hello"; | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paolo Invernizzi | Paolo Invernizzi <arathorn@fastwebnet.it> wrote: > Hi all, > On page 273 of TDPL, we have: > > enum euler = 2.78; > euler = 2.73 // Error! Cannot modify enum value! > > But with D 2.047 I can do: > > enum greet = "Hello"; > greet = "Ciao"; // Ok? > > So the question is, enumerated values are constant? There is a bug in DMD in which string literals are lvalues[1]. That is the problem you here have run into. [1]: http://d.puremagic.com/issues/show_bug.cgi?id=4539 -- Simen |
Copyright © 1999-2021 by the D Language Foundation