Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
V2533. MISRA. C-style and functional...
menu mobile close menu
Additional information
toggle menu Contents

V2533. MISRA. C-style and functional notation casts should not be performed.

Apr 24 2019

This diagnostic rule is based on the software development guidelines developed by MISRA (Motor Industry Software Reliability Association).

This rule only applies to C++.

C-style and functional casting can convert unrelated types which may lead to an error.

You must explicitly cast types using the operators 'static_cast', 'const_cast' and 'reinterpret_cast'.

Examples, for which the analyzer will issue warnings:

int i;
double d;
size_t s;
void *p;
....
i = int(p);      //V2533
d = (double)s;   //V2533
s = (size_t)(i); //V2533 
p = (void *)(d); //V2533

Exception: casting to void does not constitute any danger and is used to emphasize that a certain result is not used in any way. Example:

(void)fclose(f);

This diagnostic is classified as:

  • MISRA-CPP-2008-5.2.4