解决QT提示No previous extern declaration for non-static variable 'sss'
首先感谢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'相关推荐
- 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"问题 问题描述 定位问题 解决 ...
- previous implicit declaration of some_function was here
转载 https://www.iteye.com/blog/wangleide414-1707160 error: previous implicit declaration of 'some_fun ...
- 解决 drupal8 提示“ settings.php ”设置未配置 问题
解决 drupal8 提示" settings.php 中的 trusted_host_patterns "设置未配置 问题 找到当前网站目录下的sites/default中的se ...
- 解决Qt Creator下 undefined reference to ‘qmain(int,char**)‘的问题
解决Qt Creator下 undefined reference to 'qmain(int,char**)'的问题 参考文章: (1)解决Qt Creator下 undefined referen ...
- 解决QT无法调试问题-----the cdb process terminated
解决QT无法调试问题-----the cdb process terminated 参考文章: (1)解决QT无法调试问题-----the cdb process terminated (2)http ...
- Java调用net的Webservice时提示:undefined element declaration 's:schema'
场景 Java中调用net的天气的Webservice接口生成代码时提示: undefined element declaration 's:schema' 实现 在接口网页上右击另存为本地的wsdl ...
- 解决 QT 发送 HTTP 请求时遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed 问题
解决 QT 发送 HTTP 请求时遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initilization failed 问题 ...
- 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换
解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)--ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换 参考文章: (1)解决Qt中文乱码以及汉字编码的问题(U ...
- 解决Vscode提示bodyparser已被弃用的问题
解决Vscode提示bodyparser已被弃用的问题 被弃用真的就不能用了吗? 理论上来说,被弃用的用还是能用,但是out了,它有更好的方法可以使用 express已经把bodyParser合并进去 ...
最新文章
- DotNetNuke安装与下载
- python顺序执行多个py文件的方法
- 构建根文件系统之busybox(一)浅析
- 趣学python3(25)-del,deepcopy以及内存引用计数
- Qt Creator在编辑模式下工作
- 玩转Linux压缩及归档
- IOI 2007 Sail (线段树+贪心)
- 计算凸多边形面积的算法
- (68)SPI工作模式有哪些?分为几种极性模式。
- 规范化之路(一) Checkstyle插件安装使用
- 新代系统plc梯形图说明书_东莞自动化PLC编程需要多少钱
- 哈夫曼编解码器C语言可运行
- [C# 网络编程系列]:TCP编程
- BXP无盘Windows XP网吧系统的好处(转)
- ROS:Roboware Studio的安装
- 数据结构算法—递归算法求二叉树的叶子结点(C语言)
- Mac下输入法总是默认中文,怎么设置成英文的?
- 《算法艺术与信息学竞赛》之 递推 例一 月亮之眼 vijos 1540
- Attention!当推荐系统遇见注意力机制
- 逻辑回归python正则化 选择参数_SKlearn_逻辑回归小练习
热门文章
- Java毕设项目大学生创业众筹系统(java+VUE+Mybatis+Maven+Mysql)
- 用python设置windows系统桌面背景(壁纸)的代码
- Tomcat报错系统找不到指定的路径
- Excel问题及解决方法汇总1-图表数据源丢失问题
- 现代企业管理——【ERP管理】
- 使用fiddler 分析视频网站
- iOS逆向 掘地求生getting over it SL大法
- 安装 Ubuntu 和 CentOS 双系统
- compare用法java,Java经典用法总结
- 计算机证据和网络证据的关系,计算机证据元数据表示方法