Boost logo

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