我的号码生成器出了问题。语法明智,一切正常。我主要想使用函数来查看它们是否可以正常工作。当我运行程序时,会弹出一条消息,说我的变量“guess”没有初始化。任何人都可以了解为什么会发生这种情况? 另请注意,即使我没有在下面的代码中包含我的库,它们也存在于实际程序中。
fatal error
}
答案 0 :(得分:3)
这是因为你没有初始化guess
,正如警告所说的那样。
当然,如果你假设cin >> guess
操作总是成功,那么初始化变得无关紧要,因为变量将具有确定性值。
但是:
cin >> guess
操作没有错误检查;你不仅不能认为它会永远成功,而且你的程序没有任何线索它是否确实。此外,如果您的其他变量具有正确的值,则可能根本不会执行整个循环,因此编译器完全正确。
初始化变量并对流操作进行错误检查。
此外,count++
显然应该在循环体中,而你的循环通常需要重构,因为它以0 < 0
情况开头。你应该认真考虑你想要的程序语义是什么。