How to use core.vararg to print D variadic arguments and their types without using ! (template instantiation)?
    Basile B. 
    b2.temp at gmx.com
       
    Fri Sep 15 20:14:02 UTC 2023
    
    
  
On Thursday, 14 September 2023 at 15:19:29 UTC, BoQsc wrote:
> https://dlang.org/phobos/core_vararg.html
>
> The common way to use **va_arg** is `va_arg!(int)(_argptr);`
> What would be the alternative way or syntax that behave exactly 
> the same way, even if more verbose?
>
>
>
> ____
> `va_arg!(int)(_argptr);` is taken from an example in:
> https://dlang.org/spec/function.html#d_style_variadic_functions
here's how
```d
import core.vararg;
void main()
{
     foo(.5, 5);
}
void foo(...)
{
     int i = void;
     va_arg(_argptr, typeid(i), &i);
     assert(i == 5);
     double d = void;
     va_arg(_argptr, typeid(d), &d);
     assert(d == .5);
}
```
    
    
More information about the Digitalmars-d-learn
mailing list