|
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