我可以在C ++中声明后设置常量值吗?我试过了:
#include <iostream>
using namespace std;
int main(){
const int a;
a = 56;
cout << a;
return 0;
}
它已成功编译,但在控制台中输出为4309678。
答案 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