读书人

新手看C++ PREMIER疑问:关于extern用

发布时间: 2012-04-22 18:34:46 作者: rapoo

新手看C++ PREMIER疑问:关于extern用法
简单表述,希望大家明白我的意思

书里讲extern是定义(声明)全局变量的用处,意思是在一个文件里面定义了extern int v;在其它.CPP文件里可以调用这个v.那么请问是不是可以用下面这样的程序去理解?但我编译错误。搞不清楚到底怎么用这个extern

这段代码是准备调用另外一个CPP文件里的V的数字并打印到屏幕

C/C++ code
#include <iostream>int main(){extern int v;std::cout<<v<<"\n";return 0;}



=========================
这段代码是定义V的初值为1
C/C++ code
#include <iostream>int main(){int v=1;return 0;}



我不知道是我理解错了,还是位置放错了,还是什么?因为C++ PREMEIER书里也没有解释的很清楚。我搞不明白了,求解。

也请将正确的用法,包括代码段放上来,否则还是怕误解。谢谢大家!!




[解决办法]
放到main函数外面。
[解决办法]
第一文件cpp
C/C++ code
#include "stdafx.h"int v = 1;
[解决办法]
你在xx.cpp里定义v
int v=10;

在xx.h里声明它是extern的
extern int v;

然后在需要使用它的地方包含xx.h
#include "xx.h"
...
...
int main()
{
printf("%d",v);
}


[解决办法]
extern 只是告诉编译器,这个东西一定存在于程序之中,但多半不在本部分代码里面,然后编译器就会放行,通过编译。

但在链接的时候,该玩意一定要存在,如果不存在,链接就不能通过。

读书人网 >C++

热点推荐