我刚刚了解了C++中的常量,并在Code::Blocks上尝试了以下代码,它给了我以下编译时错误:
error: uninitialized constant 'b'[-fpermisive]
和
no match for operator >>
(我正在使用命名空间std)。
我的猜测是C++中不允许使用未初始化的常量。为什么会这样呢?
注意:我正在学习第一个代码,因此,如果您能在不使用其他任何语言的情况下进行解释,我将非常高兴。
const int b;
cin >> b;
最佳答案
常量必须在声明时初始化,声明后不能更改。
如果要以const
的形式存储要从控制台读取的值,最简单的方法可能是通过一个函数:
int readInt()
{
int i;
std::cin >> i;
return i;
}
int main()
{
const int b = readInt();
}
关于c++ - 未初始化的常量,编译错误,C++,GNU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55392575/