标签: c++ return expression block
我有以下代码:
int main() { int i=0; int j=({int k=3;++i;})+1; // this line return 0; }
它可以编译并运行。如果我从“此行”中删除了(),则它不会编译。
()
我很好奇,这里应用了什么语法规则。
{}包含2条语句,最后一条语句指示此代码块的“返回”值。那么为什么需要额外的()对来使此返回值可用?
{}