False positive warning: missing return statement and switch statements

Frans Englich frans.englich@telia.com
Tue Nov 15 22:49:00 GMT 2005


On Tuesday 15 November 2005 22:47, John Love-Jensen wrote:
> Hi Frans,
>
> > Obviously, I am looking at this the wrong way -- please explain.
>
> Improve your code safety using C++ capabilities:
>
> int toInt(const Number num)
> {
>   switch(num)
>   {
>   case Zero:
>     return 0;
>   case One:
>     return 1;
>   case Two:
>     return 2;
>   default:
>     throw std::range_error("toInt(): enum Number out of range");
>   }
> }
>
> Then the warning goes away, and your code is better.

Yupp, that's what I currently do, in my case it unfortunately becomes a 
significant amount of code for dummy tests(because I know I'm behaving).


Cheers,

		Frans



More information about the Gcc-help mailing list