I want to simplify things, by not creating a list of enum separately, but create the enums along the function call which creates the data where i point with those enums.

I tried to make #define which would create another #define, but it didnt work:

```
int defcounter = 0;

#define make_def(enumname, somedata) \
    #define enumname defcounter \
    defcounter++; \
    func_call(somedata); \

void createstuff(){
    make_def(MY_ENUM_NAME, mydata);
    make_def(MY_OTHER_ENUMNAME, mydata);
}

void dostuff(){
    somefunc_call(MY_ENUM_NAME);
    somefunc_call(MY_OTHER_ENUMNAME);
}

```

But this will create error at the `#define enumname`:

```
error C2162: expected macro formal parameter

```

How can I make this work?