未初始化的常量,编译错误,C ++,GNU

问题描述 投票:-1回答:1

我刚刚学习了C ++中的常量,并在Code :: Blocks上尝试了以下代码,它给出了以下编译时错误:

错误:未初始化的常量'b'[ - fpermisive]

不匹配运营商>>

(我正在使用命名空间std)。

我的猜测是C ++中不允许使用未初始化的常量。为什么会这样?

注意:我正在学习第一个代码,如果你能在不参考任何其他语言的情况下解释它,我将很高兴。

const int b;
cin >> b;
c++ compiler-errors constants
1个回答
0
投票

常量必须在声明它们之后初始化,声明它们无法更改之后。

如果你想在const中存储你正在从控制台读取的值,最简单的方法可能是通过一个函数来实现:

int readInt()
{
    int i;
    std::cin >> i;
    return i;
}

int main()
{
    const int b = readInt();
}
© www.soinside.com 2019 - 2024. All rights reserved.