On Tuesday 09 November 2010 23:55:26 spir wrote:
> Hello,
>
> Is there a way for a func to hold 2 optional params of the same type?
> void f(int p, bool b1=false, bool b2=false) {
> writefln("p=%s b1=%s b2=%s", p,b1,b2);
> }
> Or is there a workaroud?
Try compiling it. It works just fine.
You should be able to have multiple optional parameters, and their types
shouldn't matter. Where you get into trouble is if that function has overloads
which conflict. Since, in effect, by declaring
void f(int p, bool b1 = false, bool b2 = false)
you've declared
void f(int p, bool b1, bool b2)
void f(int p, bool b1)
void f(int p)
So, trying to declare any of those three separately won't work because your
first
definition covers them all.
- Jonathan M Davis