I got an error for "missingReturn" from a function that returns void, for example:

void Increment(unsigned &i)
{
    ++i;
}   <--- missingReturn : path out of non-void-returning function

Of course I was puzzled by this since the function returns void, but then I looked in the header file and I saw that the function was declared as follows:

int Increment(unsigned &);

So this mismatch in function declaration and definition has confused Cppcheck. I consider this a bug that needs to be fixed. Cppcheck should give an error when it encounters a function with identical signature except for return type.