为什么不能一次声明和修改变量? (C ++)

时间:2016-08-10 17:25:17

标签: c++ initialization post-increment

为什么这有效:

int main()
{
 double good; good++;
 return 0;
}

但这不是:

int main()
{
 double good++;
 return 0;
}

我知道通常你想在增加它之前将变量初始化为某个值(因为那时它只包含来自内存的随机垃圾),但我只是好奇为什么后者不允许这样做。后递增运算符不会在返回值后发生吗?对于++来说,不工作是有道理的,但我不明白为什么好的++没有。

1 个答案:

答案 0 :(得分:2)

你几乎已经回答了你的问题:因为声明没有分配值。因此,您的第二个示例 从不 是有道理的。

第一个样本由两个单独的语句组成,每个语句在某个上下文中都有意义。因此它编译。<​​/ p>