为什么这有效:
int main()
{
double good; good++;
return 0;
}
但这不是:
int main()
{
double good++;
return 0;
}
我知道通常你想在增加它之前将变量初始化为某个值(因为那时它只包含来自内存的随机垃圾),但我只是好奇为什么后者不允许这样做。后递增运算符不会在返回值后发生吗?对于++来说,不工作是有道理的,但我不明白为什么好的++没有。
答案 0 :(得分:2)
你几乎已经回答了你的问题:因为声明没有分配值。因此,您的第二个示例 从不 是有道理的。
第一个样本由两个单独的语句组成,每个语句在某个上下文中都有意义。因此它编译。</ p>