It's supposed to suppress the compiler warning Unused variable 'a'
.
This isn't a standard technique, it depends on the particular compiler in use. It is possible to turn off this warning in the compiler. however some people feel that it is useful information to have the compiler diagnose unused variables, so they use this technique to signal that the variable is intentially unused and they don't want to see a warning.
As glampert suggests, I think it is clearer to use a macro with a name such as UNUSED_VAR
, so the reader does not wonder what is going on. That approach also has the advantage that you can define it for various compilers in your header file.