I want to create macros that will insert a parameter into a function call.  For example, I have function Action() declared below. Action takes as it's inputs an enum for the state number and a formatted string with optional args for the string.  
I want to define macros so that instead of callingAction( ActionState1, "someText %d", &arg) with ActionState1 for the state parameter, I can just call State1("someText %d", &arg) instead.  That way the macro would stick in the ActionState1 for the state param for me.  I'm thinking of something like the following:
#define State1(formatedString, ...) Action(ActionState1, formatedString, ...)
#define State2(formatedString, ...) Action(ActionState2, formatedString, ...)
#define State3(formatedString, ...) Action(ActionState3, formatedString, ...)
enum {
  ActionState1,
  ActionState2,
  ActionState3
}
static void Action( State state, String formatedString, ...);
Does anyone know what the proper format for this would be?
 
     
     
     
     
    