[previous] 3834 [next] Implicit conversion: unsigned char to long long.
Arithmetic type - Implicit conversions

An expression of type unsigned char is being implicitly converted to type signed long long. This is not dangerous unless the two types happen to be implemented in the same number of bits. However implicit type conversions from an unsigned type to a signed type are not recommended.

Implicit type conversions of this nature can occur in the context of:


/*PRQA S 2017,3197,3199,3203,3227,3408,3447,3602,3625 ++*/
/****************************
 * OPTIONS: -ex LONGLONG
 ****************************/

extern void ef(signed long long f);

extern signed long long foo(unsigned char n)
{
    signed long long f = n;     /* Message 3834 - Initialization */

    f = n;                      /* Message 3834 - Assignment */

    ef(n);                      /* Message 3834 - Function argument */

    return n;                   /* Message 4034 - Function return */
}

See also:

QA·C Source Code Analyser 8.1.2
© 2013 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index Contents