C++ 为什么我仍然可以给const value一个新值

C++ 为什么我仍然可以给const value一个新值,c++,constants,jupyter,xeus-cling,C++,Constants,Jupyter,Xeus Cling,这本书说,一旦我给它一个数字,我就不能改变const的值,但似乎即使给了它一个数字,我仍然可以给它一个数字 #include<iostream> using namespace std; const int fansc(100); cout<< fansc << endl; //output:100 int fansc(20); cout<< fansc << endl;//output:20 #包括 使用名称空间std; 土木工程署

这本书说,一旦我给它一个数字,我就不能改变const的值,但似乎即使给了它一个数字,我仍然可以给它一个数字

#include<iostream>
using namespace std;
const int fansc(100);
cout<< fansc << endl; //output:100
int fansc(20);
cout<< fansc << endl;//output:20
#包括
使用名称空间std;
土木工程署(100);;

你给出的C++代码不会编译,而且正确。常量变量(A)是,嗯。。。常数错误显示在以下程序和成绩单中:

#包括
使用名称空间std;
int main(){
土木工程署(100);;

CUT< P>你所提供的C++代码不会编译,正确的是。一个<代码> const 变量(a)是…,常数。这个错误在下面的程序和转录本中显示:

#包括
使用名称空间std;
int main(){
土木工程署(100);;

这段代码不能编译,这意味着它不是您正在运行的代码。请做一个无法复制的提示:哦,您根本没有使用编译器。您似乎使用了一些解释器。您可以编辑您的问题以包含这些详细信息,但我强烈建议使用实际的编译器。解释器允许您执行以下操作:正如你在代码中所示的,它不是有效的C++。因为增量编译器,所讨论的代码可能相当于:“书”——哪本书?书是否覆盖了Acon?如果它只包含规则C++,那么它不适用于你的情况。例如,常规C++会要求行<代码>代码不编译,这意味着它不是正在运行的代码。请不能复制:哦,你根本不使用编译器。你似乎正在使用一些解释器。你可以编辑你的问题来包含这些细节,但是我强烈建议使用。一个实际的编译器。一个解释器让你做的事情不是有效的C++,正如你在代码中所示。因为增量编译器,所讨论的代码可能相当于:“书”——哪本书?书是否覆盖了Acon?如果它只包含规则C++,那么它不适用于你的情况。例如,规则C++将要求第二个代码行,即第二个代码意味着使用括号将“INTING FANS(20)”作为块。一旦块,FANSC(20)将被处理,FANSC的值为100。@ RYW:是的,“20”。
fansc
只能在其范围内访问,该范围由内部大括号限定。在内部右大括号之后,任何使用标识符
fansc
都将引用“100”变体。我已经调整了第二个代码段以显示这一点。次要说明,但这与蟒蛇或蟒蛇本身无关。问题更多的是关于Jupyter和用作解释器。@ryw:更清晰:第二个代码打开一个新的作用域,允许它创建第二个全新的变量,该变量也恰好被命名为
fans
。在这个新的作用域中,名称
fans
现在指的是第一个变量的第二个变量isntead。第二个代码是否表示您使用了大括号make“int fans(20)”作为一个块。一旦出了块,fansc(20)将被处理,fansc的值为100。@ryw:是的,“20”
fansc
只能在其范围内访问,该范围由内部大括号限定。在内部闭合大括号之后,标识符
fansc
的任何使用都将引用“100”“变体。我已经调整了第二个代码段以显示这一点。次要注意事项,但这与蟒蛇或蟒蛇本身无关。问题更多的是关于Jupyter和(大概是)用作解释器。@ryw:更清晰:第二个代码打开一个新的作用域,允许它创建第二个全新的变量,该变量也被命名为
fans
。在这个新的作用域中,名称
fans
现在指的是第一个变量的第二个变量isntead