Are there any C++ tools that detect misuse of static_cast, dynamic_cast, and reinterpret_cast?
- by chrisp451
The answers to the following question describe the recommended usage of static_cast, dynamic_cast, and reinterpret_cast in C++:
http://stackoverflow.com/questions/332030/when-should-static-cast-dynamic-cast-and-reinterpret-cast-be-used
Do you know of any tools that can be used to detect misuse of these kinds of cast? Would a static analysis tool like PC-Lint or Coverity Static Analysis do this?
The particular case that prompted this question was the inappropriate use of static_cast to downcast a pointer, which the compiler does not warn about. I'd like to detect this case using a tool, and not assume that developers will never make this mistake.