I'm trying to make my code more readable, So I defined the following macros to shorten access to components within a nested structure.
#define  _ENTRY(i)         policy_data->entries[i]                
#define  _ENTRY(i,j)       policy_data->entries[i].sub_entry[j] 
For attempting this, I get a compiler warning about "_ENTRY" being redefined.
I thought a macro is just a sophisticated way to replace strings defined by some template within a C file. A job which is done by the pre-processor before compilation.
So why does the compiler care about this? How can I achieve the same functionality without an error?
 
    