DMD won't compile re-init of variable

Simon lehmayr+d at gmail.com
Mon Feb 3 16:52:33 UTC 2020


On Thursday, 30 January 2020 at 21:18:04 UTC, MoonlightSentinel 
wrote:
> On Thursday, 30 January 2020 at 21:09:41 UTC, Simon wrote:
>> Hi dlang community,
>>
>> I'm trying to implement a "reset" functionality which should 
>> revert all variables to the program start initial state.
>>
>> Example:
>>
>> import Graph;
>> protected Edge[string] m_string2edge;
>>
>> int main()
>> {
>>     // adding some elements
>>     // not important how it works
>>     // m_string2edge[name] = e;
>>
>>     // resetting it
>>     m_string2edge = null;
>>     m_string2edge = new Edge[string]; // <- won't compile
>>
>>     return 0;
>> }
>>
>> How do I revert my variable to the init state?
>>
>> Thanks in advance,
>> Simon
>
> You can use m_string2edge.clear() if you want to remove all 
> entries from m_string2edge.
>
> See https://dlang.org/spec/hash-map.html#properties

Hi MoonlightSentinel,

in this case it won't compile:
..\Electrics.d(42): Error: function Electrics.clear() is not 
callable using argument types (Edge[string])
..\Electrics.d(42):        expected 0 argument(s), not 1



More information about the Digitalmars-d-learn mailing list