【发布时间】:2023-03-06 15:20:01
【问题描述】:
const enum Alpha{
X=9,
Y=5,
Z=2
}p;
int main(){
enum Alpha a,b;
a= X;
b= Z;
p = X;
p = Y;
printf("%d",a+b-p);
return 0;
}
为什么在 MSVC 编译器中允许 p = X 和 p = Y?此代码输出 6。不应该在初始化时分配一个 const 值,以后再也不分配?
【问题讨论】:
-
将 a 分配给 p 有效吗?
-
是的,在这种情况下输出为 2
-
请注明您的确切编译器版本。
-
带有 SP1 的 VS2010 编译器
标签: c++