为了账号安全,请及时绑定邮箱和手机立即绑定

extern int 和extern const int的区别?

extern int 和extern const int的区别?

茅侃侃 2019-04-08 11:16:59
有以下几个文件:global.cpp:inttest=5;global.hexterninttest;extern.hinclude"global.h"voidtest_fun();extern.cpp#include#include"extern.h"voidtest_fun(){printf("%d\n",test);}main.cpp#include"extern.h"intmain(intargc,char*argv[]){test_fun();return0;}上面的代码运行起来是没有问题的,但是,当我把global.cpp和global.h里面的int改成constint类型之后就会报下面的错误:errorLNK2001:unresolvedexternalsymbol"intconsttest"请问constint和int在extern下作用的区别是什么,为什么第二种情况会报错?更新:这个问题只会出现在C++里面,在C里面能正确的运行。
查看完整描述

2 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

我来做个中文解释的吧~~
C++中被const修饰的全局变量默认只在文件内可见
global.cpp:
constinttest=5;
global.h
externconstinttest=5;
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 350 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信