Boost logo

Boost :

Subject: Re: [boost] [Review:Algorithms] Order of args to clamp
From: Olaf van der Spek (ml_at_[hidden])
Date: 2011-09-26 10:40:31


On Mon, Sep 26, 2011 at 3:47 PM, Christian Holmquist
<c.holmquist_at_[hidden]> wrote:
> On 26 September 2011 06:02, Olaf van der Spek <ml_at_[hidden]> wrote:
>
>> On Mon, Sep 26, 2011 at 8:30 AM, Christian Holmquist
>> <c.holmquist_at_[hidden]> wrote:
>> > Sometimes types unfortunately have implicit conversion, and if the
>> compiler
>> > finds them (I guess that what's common_type deduces?),I might end up with
>> a
>> > bogus expression that unfortunately compiles.
>>
>> Could you give a concrete example (with 3 type clamp)?
>>
>
> enum A{a};
> enum B(b);
> main()
> {
> clamp(0, a, b);
> }
>

Right.
g++ 4.6: warning: enumeral mismatch in conditional expression: ‘A’ vs ‘B’

Is this really the fault of clamp() though?
The same 'mistake' can easily be made in normal code.

Olaf


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