我刚刚学习了C ++中的常量,并在Code :: Blocks上尝试了以下代码,它给出了以下编译时错误:
错误:未初始化的常量'b'[ - fpermisive]
和
不匹配运营商>>
(我正在使用命名空间std)。
我的猜测是C ++中不允许使用未初始化的常量。为什么会这样?
注意:我正在学习第一个代码,如果你能在不参考任何其他语言的情况下解释它,我将很高兴。
const int b;
cin >> b;
常量必须在声明它们之后初始化,声明它们无法更改之后。
如果你想在const
中存储你正在从控制台读取的值,最简单的方法可能是通过一个函数来实现:
int readInt()
{
int i;
std::cin >> i;
return i;
}
int main()
{
const int b = readInt();
}