On 6/21/20 10:04 PM, user1234 wrote:
On Monday, 22 June 2020 at 01:47:49 UTC, repr-man wrote:
Is there any way to pass an unknown number of slices into a function?
I'm trying to do something along the lines of:
void func(T)(T[] args...)
{
//...
}
That wasn't working,
[...]
Thanks for the help!
Can you provide more details for "that wasnt working" ? because
void func(T)(T[] args...)
{
writeln(args.length);
}
void main()
{
int[] a,b;
func(a[0..$],b[0..$]);
}
works, so there must be a missing detail.
Maybe each slice has different type ?
I think the problem is that typesafe variadics bind to arrays as well as
individual parameters. So func(a[0 .. $]) for instance would resolve as
func!int instead of the desired func!(int[]).
The answer might be:
func(T)(T[][] args...)
as Adam says.
-Steve