Question: I have this:

```
#define ONE 1
#define TWO 2

switch {
    case ONE: {
        return ONE * ONE;
    }

    case TWO: {
        return TWO * TWO;
    }
}

```

and I want to do this:

```
#define ONE 1
#define TWO 2

switch {
    case ONE:
    case TWO:
     {
        return name_of_the_case_value * name_of_the_case_value;
    }

}

```

Now, what do I put instead of name\_of\_the\_case\_value? Something that works for both ONE or TWO.
Is there a pre-defined variable, like \_\_name\_of\_the\_case\_value, that holds the name of the current case value?

Answer: 
Whatever variable you put in the `switch(variable)` part you just just reuse in the case itself.

e.g.

```
int var;

//some code that sets the value of var

switch(var){
    case ONE:
    case TWO:
        return var * var;
    default:
        break;
}

```

You can't just have

```
switch{
    case WHATEVER1:
    case WHATEVER2:
    etc...
}

```

`case` relates to the value of a variable/expression that needs to be there at the start of the `switch`.
You cannot have this:

```
#define ONE 1
#define TWO 2

switch {
    case ONE: {
        return ONE * ONE;
    }

    case TWO: {
        return TWO * TWO;
    }
}

```

`switch` needs a value to switch according to... So you have:

```
switch (my_value) {
    case ONE: {
        return ONE * ONE;
    }

    case TWO: {
        return TWO * TWO;
    }
}

```

Hence your question is answered, as you can use `my_value` in the `case`.