qt 下extern 引用出错 错误:storage class specified for 'childlist'

我在“ mainwindow.h”中定义了
public:
  explicit MainWindow(QWidget *parent = 0);
  ~MainWindow();
  void broadcastDatagram();
  void netTest();

  QStringList childlist;
  QStringList childstatelist;
  QStringList childnotelist;

然后在 “showlist.h”中
public:
  explicit ShowList(QWidget *parent = 0);
  ~ShowList();
  extern QStringList childlist;
  extern QStringList childstatelist;
  extern QStringList childnotelist;
并且在 “showlist.cpp"中引用,结果就出现了
错误:storage class specified for 'childlist'
/home/qust/qt/Server-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK____/../Server/showlist.h:18: 错误:storage class specified for 'childstatelist'

/home/qust/qt/Server-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK____/../Server/showlist.h:19: 错误:storage class specified for 'childnotelist'

其实这是个不能原谅的错误,extern只能找全局变量,我把变量声明在类里面,然后在类里面用extern当然是错的,

应该是这样的:


mainwindow.h也就是在MainWindow类外

extern QStringList childlist;
extern QStringList childstatelist;
extern QStringList childnotelist;
然后在mainwindow.cpp开头或结尾等处:
QStringList childlist;
QStringList childstatelist;
QStringList childnotelist;
如果其他类想使用这3个变量的话,就得:
extern QStringList childlist;
extern QStringList childstatelist;
extern QStringList childnotelist;

感谢:feilinhe等高人指点。。


  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值