Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2001-07-30 09:06:32


From: "Aleksey Gurtovoy" <alexy_at_[hidden]>

> BTW, IMO allowing non-function entities to participate in overload
> resolution process would have a limited usefulness anyway, because once
you
> have a variable named 'capacity', you are not allowed to declare anything
> else with the same name in the same scope:

True, but you can make it visible with an 'using' directive, causing an
ambiguity:

namespace N
{
  struct f {};
}

void f(int);

using namespace N;

int main()
{
  f(1);
}

So if #218 alters the Koenig lookup to apply to names (for consistency),
non-functions would cause an ambiguity regardless of whether they have the
right "signature" (assuming that they can handle operator() at all.)

Any proposal that features unqualified calls is affected by this issue.

--
Peter Dimov
Multi Media Ltd.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk