![]() |
![]() |
3810 | ![]() |
||||
![]() | |||||||
| Arithmetic type - Implicit conversions | |||||||
An expression of type double is being implicitly converted to type plain char. Any implicit conversion from a floating type to an integral type may result in a loss of precision as the fractional element of the value is discarded. If the integral element of the value cannot be represented, the result will be meaningless. However converting a floating type to a plain char type is even more suspect. Is this really intended ? Type char should be reserved for character data. For example:
/*PRQA S 2017,3199,3203,3408,3447,3602,3625 ++*/
extern double dbx;
extern void ef(char p);
extern void foo(void)
{
char pca;
pca = dbx; /* Message 3810 */
ef(dbx); /* Message 3810 */
}
See also:
![]() | ||
| QA·C Source Code Analyser 8.1.2
© 2013 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | Contents |