I have the following code:
int main() {
int i=0;
int j=({int k=3;++i;})+1; // this line
return 0;
}
It compiles and runs. If I remove the ()
from "this line", then it doesn't compile.
I'm just curious what syntax rule is being applied here.
The {}
contains 2 statements, and the last statement indicates the "return" value of this code block. Then why does it need an extra ()
pair to make this return value usable?