|
Boost Users : |
From: Daniel Wallin (dalwan01_at_[hidden])
Date: 2006-05-31 08:57:19
Richard Crossley wrote:
> Hi,
>
> With the parameter library is there any way to stop misuse as in;
>
> func(/*a = */1,b = 2); Fine, a is positional, b is named.
>
> func(a = 1,2);
>
> Happily compiles but probably isn't what was intended, the default value is
> used for the second parameter.
Are you sure?
func(a = 1, 2)
is the equivalent of
func(1,2) or
func(a = 1, b = 2)
> Should positional arguments be allowed to occur after named
> arguments?
We considered not allowing it, but came to the conclusion that there
would be little point in doing so since the binding rules are pretty
simple; positional argument are bound by their absolute position. We do
recommend that named parameters trail positional ones though.
-- Daniel Wallin
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net