Error: cannot implicitly convert expression this.aa of type inout(string[string]) to string[string]
Robert-D
robert_d at gmail.com
Thu Mar 15 12:00:08 UTC 2018
On Thursday, 15 March 2018 at 11:33:49 UTC, Simen Kjærås wrote:
> On Thursday, 15 March 2018 at 11:18:48 UTC, Robert-D wrote:
>> [...]
>
>
> This is where things go wrong:
>> [...]
>
> 'inout' means that this function can keep the const, immutable
> or mutable status of the type on which the function is called.
> This means that an inout function has to treat the object as
> const, because otherwise the function would break the
> guarantees of immutable and const.
>
> When using inout on a function, you always want to put inout on
> something else too - either a ref parameter or the return
> value. In your case, this works:
>
> inout(S) dup() inout pure {
> return inout(S)(aa);
> }
>
> --
> Simen
I want the function to create a mutable copy from a const or a
imutable
Like this:
void main() {
const S s = S(["": ""]);
S b = s.dup();
}
How can i do that?
More information about the Digitalmars-d-learn
mailing list