У меня есть следующий код:
int main() {
int i=0;
int j=({int k=3;++i;})+1; // this line
return 0;
}
Он компилируется и запускается. Если я удалю ()
из "этой строки", то он не скомпилируется.
Мне просто интересно, какое синтаксическое правило применяется здесь.
{}
Содержит 2 оператора, а последний оператор указывает значение "return" этого кодового блока. Тогда зачем нужна дополнительная ()
пара, чтобы использовать это возвращаемое значение?