当前位置: 代码迷 >> QT开发 >> qt 下extern 引用出错 异常:storage class specified for 'childlist'
  详细解决方案

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

热度:300   发布时间:2016-04-25 04:54:50.0
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'
这错误和main(),有关系吗?
这是怎么回事呢? 谢谢大家!


------解决方案--------------------
贴完整代码吧,不会是把extern扔类里了吧。。
------解决方案--------------------
extern只能找全局变量,你把变量申明在类里面,然后在类里面用extern,当然会报错..
------解决方案--------------------
extern来声明外部全局变量,用作ShowList成员变量不可哦
------解决方案--------------------
mainwindow.h中:
extern QStringList childlist;
extern QStringList childstatelist;
extern QStringList childnotelist;

------解决方案--------------------
楼上所说对的。

这无关Qt,是C++的使用。

在实现文件中定义(最好在开头),在头文件中extern引用。

平常多注意头文件的重复包含问题,但这个与你这个问题目前不搭界。
  相关解决方案