digitalmars.D.learn - How to call readf
- Petras (20/20) May 28 2017 Hi, I am learning how to use readf to read integers. I follow the
- =?UTF-8?Q?Ali_=c3=87ehreli?= (6/12) May 28 2017 Providing the format string as a template argument and being able to
- Petras (2/16) May 28 2017 Thanks!
Hi, I am learning how to use readf to read integers. I follow the example in https://dlang.org/library/std/stdio/readf.html The sample code use readf in following way readf!" %d"(a); It works when I use dmd 2.074. However, I got compile error when I switch to ldc2 /usr/include/d/std/stdio.d(3339): Error: tuple A is used as a type b.d(8): Error: template instance std.stdio.readf!" %d" error instantiating It turns out that I can compile the code using ldc2 if I change the line to readf(" %d", &a); So my questions are 1. Should I use ampersand? I search the web and other people use ampersand. But from the doc I guess that I can also pass arguments as ref and do need to use ampersand? 2. I also tried changing the code to readf!" %d"(&a); and ldc2 gives me the same error. I search and the ! does something called template instantiation. Why it does not work here? Thanks for your help!
May 28 2017
On 05/28/2017 07:55 AM, Petras wrote:Hi, I am learning how to use readf to read integers. I follow the example in https://dlang.org/library/std/stdio/readf.html The sample code use readf in following way readf!" %d"(a);Providing the format string as a template argument and being able to pass references are both 2.074 features.It turns out that I can compile the code using ldc2 if I change theline toreadf(" %d", &a);That's the old way that should work with 2.074 as well. Ali
May 28 2017
On Sunday, 28 May 2017 at 15:00:30 UTC, Ali Çehreli wrote:On 05/28/2017 07:55 AM, Petras wrote:Thanks!Hi, I am learning how to use readf to read integers. I followtheexample in https://dlang.org/library/std/stdio/readf.html The sample code use readf in following way readf!" %d"(a);Providing the format string as a template argument and being able to pass references are both 2.074 features.It turns out that I can compile the code using ldc2 if Ichange the line toreadf(" %d", &a);That's the old way that should work with 2.074 as well. Ali
May 28 2017