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

This message is issued when a relational operator is used with operands of different essential type categories.

For example:


/*PRQA S 1-9999 ++*/
/*PRQA S 1880, 1802, 1822, 4505 --*/

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

void f1880 (void)
{
  if (boa < pca) ;  /* 4505 */
  if (boa < ena) ;  /* 4505 */
  if (boa < sia) ;  /* 4505 */
  if (boa < uia) ;  /* 4505 */
  if (boa < fta) ;  /* 4505 */

  if (pca < ena) ;  /* 1880 */
  if (pca < sia) ;  /* 1880 */
  if (pca < uia) ;  /* 1880 */
  if (pca < fta) ;  /* 1880 */

  if (ena < enb) ;  /* 1880 */
  if (ena < sia) ;  /* 1880 */
  if (ena < uia) ;  /* 1880 */
  if (ena < fta) ;  /* 1802 */

  if (sia < uia) ;  /* 1822 */
  if (sia < fta) ;  /* 1802 */

  if (uia < fta) ;  /* 1802 */
}

See also:

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