| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 843 人关注过本帖
标题:C++ 中全局变量怎么定义?
只看楼主 加入收藏
Talo
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2014-6-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
C++ 中全局变量怎么定义?
我试过加extern,结果总是有一个源文件不能用,如果全加上extern,就会出现一长串的乱七八糟的错误提示。
我也试过定义在头文件中,结果也是出现错误提示。

求指教
搜索更多相关主题的帖子: 源文件 
2014-06-28 15:14
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
程序代码:
#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int G_num = 5;

int main(void)
{
    cout << ::G_num << endl;
    return 0;
}

2014-06-28 15:23
Talo
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2014-6-24
收藏
得分:0 
回复 2 楼 zklhp
这是什么意思?
2014-06-28 20:08
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
回复 楼主 Talo
在一个头文件中写extern声明,在一个模块文件中写定义,然后在所有模块中#include那个头文件。不写extern声明,那是没用的,不是全局变量。

授人以渔,不授人以鱼。
2014-06-28 20:12
Talo
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2014-6-24
收藏
得分:0 
回复 4 楼 TonyDeng
试了一下,还是有错误提示
2014-06-28 20:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用Talo在2014-6-28 20:17:19的发言:

试了一下,还是有错误提示


那一定是你写错了。注意我说的“声明”和“定义”有什么区别,那字眼不是乱说的。

授人以渔,不授人以鱼。
2014-06-28 20:24
Talo
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2014-6-24
收藏
得分:0 
可能是其它地方有问题吧,但是组建的时候只有这一个错误,怎么都解决不了。
2014-06-28 20:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
有问题就把画面截出来看呀,别人看不到现场,你要想办法让帮助你的人看到现场才行,光说有问题有什么用。

授人以渔,不授人以鱼。
2014-06-28 20:37
Talo
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2014-6-24
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2014-06-28 20:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
定义:
int x = 0;           // 这是对变量x进行定义并初始化,定义在一个模块中只能进行一次
声明:
extern int x;        // 这是声明本模块将引用一个叫x的int型数据,但它不在本模块定义。

写一个.h头文件:
extern int x;        // 告诉编译器包含此头文件的模块将使用这么一个变量,其定义在某个模块中,千万不要在这里定义或对该变量赋值,否则就出现你那个编译错误,即重复定义错误。

在适当的模块中写出上面的定义,这个就是变量实体。
在所有用到这个变量的模块(.c或.cpp源代码文件)中,包含上述头文件。

授人以渔,不授人以鱼。
2014-06-28 20:48
快速回复:C++ 中全局变量怎么定义?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018119 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved