Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2005-12-11 10:28:35


Howard Hinnant wrote:
> On Dec 11, 2005, at 7:29 AM, Arkadiy Vertleyb wrote:

...

>> typedef std::binder1st< int > type2; // error

...

> Are you sure you want to do things like this? The type int does not
> meet the requirements for these template parameters. For example in
> std::binder1st<Operation>, the requirements include:
>
> 1. Operation has a nested type named first_argument_type.
> 2. Operation has a nested type named second_argument_type.
> 3. Operation has a nested type named result_type.

It doesn't matter. The requirements don't apply unless binder1st<int> is
instantiated, and it isn't in the above example. binder1st<int> is still
incomplete unless it's used in a context that demands a complete type.
Unless the compiler has a bug, the only explanation is nonstandard default
arguments.


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