I was reading from *Bjarne's Programming and Principles using C++*. 

I ran into the following details about **switch**: 

> 
> You can use several case labels for a single case. 
> 
> 
> You cannot use the same value for two case labels.
> 
> 
> 

I think I clearly understand the 2. one. It should mean that:

```cpp
switch (a) {

  case 'c':{//some code} 

  case 'c':{//some (different) code} 
} 

```

Is **not** legal. 

However, I am not sure if the first one means, that if case no.1 and case no.2 and so on are different then I can have any number of cases(, of course them being constant expressions) or it means that I can have any number of cases, but *some of them doing the same thing*.

I have found a similar question regarding this: 
 [multiple label value in C switch case](https://stackoverflow.com/questions/51796397/multiple-label-value-in-c-switch-case)

**Do I interpret it right? If not, what is it I am missing or get wrong?**