QT 全局变量所遇见的问题,以及参考网上的解决方法,做个总结,提醒自己

原先以为在 “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 有记忆功能,难道这就是的,暂时还不知道,资料还在查阅

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值