原先以为在 “globa.h”全局变量头文件中定义一些变量供其他文件使用。
#define BUFF_SIZE 1024
typedef struct message
{
char news[BUFF_SIZE];
int flag;
}Msg;
extern Msg x;
以上是我定义的一个全局结构体变量;
编译时候,报错:multiple definition of 重定义
我就讲extern 改成 staic
#define BUFF_SIZE 1024
typedef struct message
{
char news[BUFF_SIZE];
int flag;
}Msg;
static Msg x;
虽然没报错,文件之间对 ‘X’操作没有什么联系,相互独立;
这种方法不过有些用途,比如能定义一些通用的变量,而互不影响;
不过只有一种方法成功了
那个就是在 “globa.h”中
#define BUFF_SIZE 1024
typedef struct message
{
char news[BUFF_SIZE];
int flag;
}Msg;
class temp
{
public:
static Msg x;
} ;
而在“globa.cpp”中对变量进行定义
#include"globa.h"
Msg temp::x={0};
我只知道局部static 有记忆功能,难道这就是的,暂时还不知道,资料还在查阅