Possible Duplicate:
What does void casting do?
I was just browsing through a project and found this
//This is in a .cpp file
#if xxx == 5
(void)var;
#endif
What does this (void)var do? Any significance on doing this.
I have heard that this has something to do with compilation.
Adding both c and cpp tag incase this is common.
This statement does effectively nothing. But helps in silencing compiler.
It’s mainly done to avoid unused variable warnings.
In reply to @vonbrand’s comment. Here are made up situations where this is useful.
that’s using this header file.
header and in the definition.
For example in gcc, when the compilation option is
-Werroris used by default in the makefile and it may not be desirable to modify for the whole project. Besides, it’s completely harmlessand portable to do
(void)var;for any variable. So I don’t see why it would be a bad idea which helps programmers life easier in some situations.So it’s not always desirable to get rid of unused variables. Doing so would require more work when later needed.