Parsing a string from stdin using formattedRead
Ali Çehreli
acehreli at yahoo.com
Wed Dec 6 18:57:55 UTC 2017
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
More information about the Digitalmars-d-learn
mailing list