首先感谢QT Creator 4.8.0的代码提示功能,让我意识到我的一个长期不规范行为。

之前定义全局变量:

1、在1.cpp文件直接写例如 int test;

2、如果2.cpp需要使用test时,一般我会直接在2.cpp直接加extern int test;

其实这是不规范的,

规范的写法:在1.h中写extern int test,然后在2.cpp包含1.h

如果int test只在1.cpp中使用,应该定义为static int test;

所以关于No previous extern declaration for non-static variable 'sss'这个问题,解决方案有两个

方案1、在1.h头文件给报错的变量分别加上 extern声明 ,如extern int test

方案2、在1.cpp给报错的变量加上static (这样只能在该cpp文件使用)

参考:

Static全局变量与普通的全局变量有什么区别?static函数与普通函数有什么区别?

https://www.cnblogs.com/zjvskn/p/5548879.html

https://stackoverflow.com/questions/28511565/no-previous-extern-declaration-for-non-static-variable-frameworknameversionstri

解决QT提示No previous extern declaration for non-static variable 'sss'相关推荐

  1. Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题

    Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin "xcb"问题 问题描述 定位问题 解决 ...

  2. previous implicit declaration of some_function was here

    转载 https://www.iteye.com/blog/wangleide414-1707160 error: previous implicit declaration of 'some_fun ...

  3. 解决 drupal8 提示“ settings.php ”设置未配置 问题

    解决 drupal8 提示" settings.php 中的 trusted_host_patterns "设置未配置 问题 找到当前网站目录下的sites/default中的se ...

  4. 解决Qt Creator下 undefined reference to ‘qmain(int,char**)‘的问题

    解决Qt Creator下 undefined reference to 'qmain(int,char**)'的问题 参考文章: (1)解决Qt Creator下 undefined referen ...

  5. 解决QT无法调试问题-----the cdb process terminated

    解决QT无法调试问题-----the cdb process terminated 参考文章: (1)解决QT无法调试问题-----the cdb process terminated (2)http ...

  6. Java调用net的Webservice时提示:undefined element declaration 's:schema'

    场景 Java中调用net的天气的Webservice接口生成代码时提示: undefined element declaration 's:schema' 实现 在接口网页上右击另存为本地的wsdl ...

  7. 解决 QT 发送 HTTP 请求时遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed 问题

    解决 QT 发送 HTTP 请求时遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initilization failed 问题 ...

  8. 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换

    解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)--ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换 参考文章: (1)解决Qt中文乱码以及汉字编码的问题(U ...

  9. 解决Vscode提示bodyparser已被弃用的问题

    解决Vscode提示bodyparser已被弃用的问题 被弃用真的就不能用了吗? 理论上来说,被弃用的用还是能用,但是out了,它有更好的方法可以使用 express已经把bodyParser合并进去 ...

最新文章

  1. DotNetNuke安装与下载
  2. python顺序执行多个py文件的方法
  3. 构建根文件系统之busybox(一)浅析
  4. 趣学python3(25)-del,deepcopy以及内存引用计数
  5. Qt Creator在编辑模式下工作
  6. 玩转Linux压缩及归档
  7. IOI 2007 Sail (线段树+贪心)
  8. 计算凸多边形面积的算法
  9. (68)SPI工作模式有哪些?分为几种极性模式。
  10. 规范化之路(一) Checkstyle插件安装使用
  11. 新代系统plc梯形图说明书_东莞自动化PLC编程需要多少钱
  12. 哈夫曼编解码器C语言可运行
  13. [C# 网络编程系列]:TCP编程
  14. BXP无盘Windows XP网吧系统的好处(转)
  15. ROS:Roboware Studio的安装
  16. 数据结构算法—递归算法求二叉树的叶子结点(C语言)
  17. Mac下输入法总是默认中文,怎么设置成英文的?
  18. 《算法艺术与信息学竞赛》之 递推 例一 月亮之眼 vijos 1540
  19. Attention!当推荐系统遇见注意力机制
  20. 逻辑回归python正则化 选择参数_SKlearn_逻辑回归小练习

热门文章

  1. Java毕设项目大学生创业众筹系统(java+VUE+Mybatis+Maven+Mysql)
  2. 用python设置windows系统桌面背景(壁纸)的代码
  3. Tomcat报错系统找不到指定的路径
  4. Excel问题及解决方法汇总1-图表数据源丢失问题
  5. 现代企业管理——【ERP管理】
  6. 使用fiddler 分析视频网站
  7. iOS逆向 掘地求生getting over it SL大法
  8. 安装 Ubuntu 和 CentOS 双系统
  9. compare用法java,Java经典用法总结
  10. 计算机证据和网络证据的关系,计算机证据元数据表示方法