Good day, everyone.

I've come across a peculiar piece of code today, which I don't quite understand.
I don't even know how to search for this particular problem.

In this code, which works, a variable assignment is done like this:

```
if(condition) {
    Var1 = false, Var2 = false;
}

```

Now, I was under the impression, that ALL commands need to be terminated by a semicolon instead of a comma. I am familiar with the syntax

```
Var1 = Var2 = false;

```

but not with the one posted above. The compiler (g++) doesn't even throw me a warning or anything...am I missing something from the specification here?
Or is the compiler generous with me and just replaces the `,` with a `;` internally? If so, shouldn't he at least throw a warning?

Thank you for your time.