申报后可以设定常数吗?

时间:2018-02-11 17:22:34

标签: c++ constants declaration

我可以在C ++中声明后设置常量值吗?我试过了:

#include <iostream>
using namespace std;

int main(){
    const int a;
    a = 56;
    cout << a;
    return 0;
}

它已成功编译,但在控制台中输出为4309678。

1 个答案:

答案 0 :(得分:3)

不,你不能。此外,甚至不会编译。您需要初始化const值:

const int a = 56;

或:

const int a{ 56 };

之后,您无法为变量分配新值,因为const将其标记为只读,因此无法编译:

const int a = 56;
a = 57; // error: assignment of read-only variable 'a'

如果在GCC上,保持未初始化的常量将产生以下错误:

error: uninitialized const 'a' [-fpermissive]

或者如果使用Visual C ++:

const variable "a" requires an initializer