“()”如何将语句转换为C ++中的表达式?

时间:2018-09-13 11:56:48

标签: c++ return expression block

我有以下代码:

int main() {
    int i=0;
    int j=({int k=3;++i;})+1; // this line
    return 0;
}

它可以编译并运行。如果我从“此行”中删除了(),则它不会编译。

我很好奇,这里应用了什么语法规则。

{}包含2条语句,最后一条语句指示此代码块的“返回”值。那么为什么需要额外的()对来使此返回值可用?

0 个答案:

没有答案