[previous] 3709 [next] Implicit conversion: char to double.
Arithmetic type - Implicit conversions

An expression of type char is being implicitly converted to type double. This is a strange type conversion. Is it intended ?

As shown in the code example below, implicit type conversions of this nature can occur in the context of:

In the C language there exist 3 distinct char types: It is recommended that signed char and unsigned char should be used for "numeric" data and plain char should be used for "character" data.

For example:


/*PRQA S 2017,3197,3199,3203,3227,3408,3447,3602,3625 ++*/


extern void ef(double p);

extern double foo(char v)
{
    double a = v;               /* Message 3709 - Initialisation    */

    a = v;                      /* Message 3709 - Assignment        */

    a = a + v;                  /* Message 3709 - Balancing         */

    ef(v);                      /* Message 3709 - Function Argument */

    return v;                   /* Message 3909 - Function Return   */
}


No MISRA C:2012 Rules applicable to message 3709


See also:

QA·C Source Code Analyser 8.1
MISRA C:2012 Compliance Module 1.0
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index Contents