
编码过程中遇到的问题(QT/Linux)
问题的解决方案
咸鱼2333号程序员
企业员工小白一枚,分享实战过程中遇到的知识点及实用技巧
本人写的内容都比较简单易懂,注重于怎么去使用.
展开
-
switch……case……语句里面不能初始化变量
switch……case……语句里面不能初始化变量原创 2022-08-15 10:10:43 · 476 阅读 · 0 评论 -
Qt 错误提示1: invalid use of incomplete type ‘***‘
出现此类错误的原因一般都是没有使用类的头文件。可以通过查询类的头文件,将其包含进来即可 在报错的地方点击F1查看头文件是哪个,加上即可原创 2022-06-21 19:18:30 · 1055 阅读 · 0 评论 -
错误:expected unqualified-id before numeric constant
qt编译的时候出现了这个错误,查找了一下原因是因为宏定义与变量名冲突了,改掉其中一个就可以了。原创 2022-06-15 16:55:52 · 3377 阅读 · 0 评论 -
错误:No rule to make target `../pubbusiness/localshareapi/localsharerecv.cpp,need by ‘temp/localshare
出现这个错误的原因:排查方向往出现错误的那个文件,可能有比如引用此文件的路径不对、工程更改路径或者更改了其中的文件夹名称等解决方案:1、查看.pro或.pri文件里路径的.h或.cpp的加载路径有没有错;(我的是因为这个原因)2、删除之前编译生成的.obj文件夹,重新构建编译即可.........原创 2022-06-15 16:54:47 · 676 阅读 · 0 评论 -
错误:QT memset初始化结构体为0的时候,编译通过但是运行的时候会出现段错误(核心已转储)
建议:想要初始化这类性数据的话,可以在结构体里面加个初始化的构造函数,到时候调用即可,方便又安全。补充:段错误出现的原因一般是因为对内存空间的不正确操作函数原型:void *memset(void *s, int ch, size_t n);memset初始化结构体的方式对于变量struct STUDENT stTest;——memset(&stTest,0,sizeof(struct sample_struct));对于数组struct STUDENT1 TEST[10];——memset(TEST,0,原创 2022-06-15 16:52:54 · 1952 阅读 · 0 评论 -
corrupted double-linked list: 0x086a6c50(内存问题)
新增了一段代码,程序就直接异常了,但是新增的代码没什么问题。但是在qt里面只显示异常也看不出是什么原因导致的,在终端运行了下,就提示有这个错误了,上网搜了一下,是内存的问题,通常有以下容易犯的内存问题:1.内存重复释放,出现double free时,通常是由于这种情况所致(我检查了下自己的代码,发现有个对象重复释放了两次,删掉其中的一个地方,代码就OK了)。2.内存泄露,分配的内存忘了释放。3.内存越界使用,使用了不该使用的内存:char buf[32] = {0};for(int i=0;原创 2022-05-20 11:10:36 · 10947 阅读 · 0 评论 -
QT 遇到的一些疑惑解答
1、memset初始化结构体为0的时候,编译通过但是运行的时候会出现段错误(核心已转储)原因:是我自己定义的结构体里面包含了QString类型的数据,而memset函数按字节对内存块进行初始化,大概是因为QString是不定长的?所以不行,string类型的也不行。建议:想要初始化这类性数据的话,可以在结构体里面加个初始化的构造函数,到时候调用即可,方便又安全。补充:段错误出现的原因一般是因为对内存空间的不正确操作函数原型:void *memset(void *s, int ch,si.原创 2022-03-30 11:16:52 · 2272 阅读 · 1 评论