extern const int i; //合法
extern const int j=10; //非法,常量不可以被再次赋值
为什么第二个是不合法的呢
C++语言中const的用法!
答案:4 悬赏:80 手机版
解决时间 2021-03-14 23:43
- 提问者网友:溺爱和你
- 2021-03-14 19:00
最佳答案
- 五星知识达人网友:逃夭
- 2021-03-14 19:35
因为你声明了extern,所以第二个不合法。
因为extern表示使用外部变量,而const变量只能在声明变量时初始化一次。而extern变量就是外部已经定义了一个变量,所以此处就不能再初始化了。
因为extern表示使用外部变量,而const变量只能在声明变量时初始化一次。而extern变量就是外部已经定义了一个变量,所以此处就不能再初始化了。
全部回答
- 1楼网友:执傲
- 2021-03-14 22:34
第一个是声明变量i在外部定义
第二个是声明变量,而你的意思似乎是定义变量。把extern去掉就好了。
- 2楼网友:夜余生
- 2021-03-14 21:35
我似乎记得C++的静态型变量不能像这样定义后直接赋值的.要在外部赋值.
- 3楼网友:洎扰庸人
- 2021-03-14 21:04
1. 在c语言中,const的意思是“一个不能被改变的普通变量”,它总是占用存储空间而且它的名字是全局的。c编译器不能把const堪称一个编译器间的常量。所以在c中你可以这么写:
const int bufsize;//不赋值。
但不能这么写:
cosnt bufsize = 100;
char buf[bufsize]; //因为bufsize不是常量。
但是在c++里,上面两种情况正好反过来。在c++里const修改的量表示常量,必须在初始化时赋值,并且可以作为数据的维数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯