[previous] 4511 [next] An expression of 'essentially character' type (%1s) is being used as the %2s operand of this arithmetic operator (%3s).
Arithmetic type - Operands

This message is issued whenever an expression of essentially character type has been used as an operand of an arithmetic operator. Note that the message will not be generated for the binary + or - operators.

For example:


/*PRQA S 1-9999 ++*/
/*PRQA S 4511,4517 --*/

void f4511 (char a, int b)
{
  a + b;                    /* OK: essential type of result is char */
  
  a - b;                    /* OK: essential type of result is char */
  
  a - '0';                  /* OK: essential type of result is int */
  
  a * b;                    /* 4511 */

  +a;                       /* 4511 */

  ++a;                      /* 4517 */
}

See also:

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