首页 > 其他 > 详细

关于extern static 和 const

时间:2014-03-26 06:36:55      阅读:266      评论:0      收藏:0      [点我收藏+]

extern int i ;

声明并非定义,

extern int i = 1;

进行定义,,对于变量只能定义一次,但可以多次声明。

bubuko.com,布布扣
//A.cpp
inti;
intmain()
{
}
//B.cpp
inti;
bubuko.com,布布扣

出现错误:

Linking...
B.obj:errorLNK2005:"inti"(?i@@3HA)alreadydefinedinA.obj
Debug/A.exe:fatalerrorLNK1169:oneormoremultiplydefinedsymbolsfound
Errorexecutinglink.exe.
A.exe-2error(s),0warning(s)

如果试图在a中引用b,那么出现错误:

bubuko.com,布布扣
//A.cpp
intmain()
{
i=100;//试图使用B中定义的全局变量
}
//B.cpp
inti;
编译结果如下:

Compiling...
A.cpp
C:\DocumentsandSettings\wangjian\桌面\tryextern\A.cpp(5):errorC2065:i:undeclaredidentifier
Errorexecutingcl.exe.
A.obj-1error(s),0warning(s)
bubuko.com,布布扣

这样用extern解决:

bubuko.com,布布扣
1 //A.cpp
2 externinti;
3 intmain()
4 {
5 i=100;//试图使用B中定义的全局变量
6 }
7 //B.cpp
8 inti;
bubuko.com,布布扣

 

const对象一旦创建不可改变,,而且其被设定为只在当前文件内有效,,所以想要在其他文件中使用,,需要由下来解决

a.cpp

extern const int buffer= 1;

b.cpp

extern const int buffer;

关于extern static 和 const,布布扣,bubuko.com

关于extern static 和 const

原文:http://www.cnblogs.com/fuzhenzhen/p/3624254.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!