[Development] Compiler warnings
Thiago Macieira
thiago.macieira at intel.com
Fri Oct 17 18:31:00 CEST 2014
On Friday 17 October 2014 13:06:39 Milian Wolff wrote:
> enum Foo {
> Bar = 1, Baz = 2
> };
>
> Foo foo = static_cast<Foo>(3);
>
> Now what do you do without a default clause?
Shoot the developer who abused the API.
If the function accepts enum values 1 and 2 and you pass a 3, you deserve the
undefined behaviour.
That is the same as passing a bool that doesn't contain exactly values 0 or 1
or passing an uninitialised pointer.
We have to handle all regular conditions. We don't have to guard against
stupidity.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development
mailing list