[previous] 1881 [next] The operands of this equality operator are expressions of different 'essential type' categories (%1s and %2s).
Arithmetic type - Balancing

This message is issued when an equality operator is used with operands of different essential type categories.

For example:


/*PRQA S 1-9999 ++*/
/*PRQA S 1881, 1803, 1823 --*/

_Bool             boa;
char              pca;
enum E {ONE, TWO} ena;
enum F {UNO, DUE} enb;
int               sia;
unsigned          uia;
float             fta;

void f1881 (void)
{
  if (boa == pca) ;  /* 1881 */
  if (boa == ena) ;  /* 1881 */
  if (boa == sia) ;  /* 1881 */
  if (boa == uia) ;  /* 1881 */
  if (boa == fta) ;  /* 1881 */

  if (pca == ena) ;  /* 1881 */
  if (pca == sia) ;  /* 1881 */
  if (pca == uia) ;  /* 1881 */
  if (pca == fta) ;  /* 1881 */

  if (ena == enb) ;  /* 1881 */
  if (ena == sia) ;  /* 1881 */
  if (ena == uia) ;  /* 1881 */
  if (ena == fta) ;  /* 1803 */

  if (sia == uia) ;  /* 1823 */
  if (sia == fta) ;  /* 1803 */

  if (uia == fta) ;  /* 1803 */
}

See also:

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