重定义问题,请进!!!
a.h
#ifndef A_H
#define A_H
static int a;
#endif
a.cpp
#include "a.h"
a=100
b.cpp
#include "a.h"
a=100
在2000下VC6编译,连接提示变量a重定义
问题点数:20、回复次数:8Top
1 楼lizilily()回复于 2004-09-03 11:42:38 得分 5
你的a相当于全局变量,拿肯定提示出现这个错误了,你想定义的是全局变量吗Top
2 楼flyelf(空谷清音)回复于 2004-09-03 11:43:01 得分 5
在a.cpp中
int a;
在b.cpp中
extern in a;
Top
3 楼weakwater(我是河南人)回复于 2004-09-03 11:54:27 得分 5
定义全局变量就要用 extern关键字Top
4 楼tang_ghost(tangyan)回复于 2004-09-03 13:04:37 得分 0
如下还是编译错误
a.h
#ifndef A_H
#define A_H
static int a;
#endif
a.cpp
#include "a.h"
a=100
b.cpp
extern int a
提示变量类型不对Top
5 楼tang_ghost(tangyan)回复于 2004-09-03 13:11:22 得分 0
如果不加入static 是没有问题的,
可就是因为加了static ,如何解决?Top
6 楼crybird(寒号鸟)回复于 2004-09-03 13:16:40 得分 0
1多处丢失分号
2main函数外的a=100??Top
7 楼iicup(双杯献酒)回复于 2004-09-03 13:36:08 得分 5
a=100
这个是什么东东?
如果是定义变量,应该
int a = 100;
如果是语句,应该
a = 100; 并且要放到某个函数里面。
估计下面这个是您想要的
a.h
#ifndef A_H
#define A_H
//static int a; // 您确切明白这里需要static?
int a = 100;
#endif
a.cpp
#include "a.h"
// a=100
extern int a;
b.cpp
#include "a.h"
// a=100
extern int a;Top
8 楼tyzyx(疯狂的人生)回复于 2004-09-06 12:16:48 得分 0
static 不就是全局变量吗?Top




