I'm really astonished and cannot figure it out ...

Code:
bool Mybool[10][5];
int x,i;

...
if (!Mybool[x],i) { ... }
My intention was obviously to write !Mybool[x][i] but the compiler didn't detect any error ... and I spent a lot of time until I found the mistake.

My question ... what is the compiler doing with this incorrect syntax?

Thks