On 12/06/2017 10:47 AM, Mark wrote:

> string info = readln();
> formattedRead(info, "%s %s", first_name, last_name);
>
> This piece of code works

> formattedRead(readln(), "%s %s", first_name, last_name);
>
> But this raises a compilation error, claiming that formattedRead "cannot
> deduce function from argument types".

formattedRead takes the first parameter as 'ref'.

I hope we can change compiler error messages like this. What it means is that although the 'string' part of the argument matched, it cannot be passed as 'ref' because what readln() returns is an rvalue. (On the other hand, info above is an lvalue.) rvalues cannot be bound to references in D.

Ali

Reply via email to