/***********************************************************/
invalid use of incomplete type struct 或者是class的解决办法
这个错误是找不到这个class 或struct 的具体实现
1> 常遇场景
定义了一个类 class A 要在类B中使用A
在B的 b.h中声明 class A; 并实例化出一个对象 A a;在b.cpp中直接使用A的成员函数会报这个错误
2> 解决办法
在b.cpp中添加这个类的头文件
/***********************************************************/
error:jump to case label [-fpermissive]
1>
在c++中使用switch的时候遇到这样的问题 示例如下
case FileName:
in >> userName >> localHostName >> ipAddress;
QString clientAddress, fileName;
in >> clientAddress >> fileName;
hasPendingFile(userName,ipAddress,clientAddress,fileName);
break;
case Refuse:{
in >> userName >> localHostName;
QString serverAddress;
in >> serverAddress;
QString ipAddress = getIP();
if(ipAddress == serverAddress)
{
server->refused();
}
break;
}
default:
break;
}
如果case 后面不用{ }包起来会报错
D:\code\qt\chat\widget.cpp:230: error: jump to case label [-fpermissive]
2>
这个错误的原因是 在case中定义了局部变量 ,这样就导致后面也可以访问这个局部变量 造成错误
3>
解决办法 把case 后面的代码全部用{ }包住
/***********************************************************/
usr/include/c++/6.1.1/bits/stl_relops.:67: Parse error at "std" linux下qt编译遇到的错误
1>
这人错误是因为没有安装 highlight 包
2>
sudo apt-get install hig****安装这个包,然后把之前编译的build-********那个文件夹删除,然后重新编译
invalid use of incomplete type
1>
出现这个问题,表明编译器不知道所用的struct 或者是class的具体实现,通常出现在如下情况:假设我们有一个class some定义在some.h中,实现在some.cpp中,我们在other.cpp中要用到这个some 的方法,于是我们再other.h中声明可一个class some,并声明了要用到的方法,这样就会导致上述的问题,
2>
解决这个问题的方法是:在other.cpp中include some.h,这样编译器就会根据该头文件找到class some的具体定义,问题也就解决了。
undefined reference to `libusb_init@4'
undefined reference to `libusb_init@4'
1>错误的原因是在.pro文件的库链接不正确
terminate called after throwing an instance of 'std::bad_alloc' what(): std:
1> 错误原因:机器上没有足够的堆空间为程序分配,在你的代码中有大内存的 new 数组分配,例如我的错误-
void Widget::fillPoints()
{
m_points = new GLfloat[320*240*3];
for(int i = 0, j = 0; i < 240*320*3; i += 3, j++ )
{
int row = j / 320;
int list = j % 320;
m_points[i] = list * (GLfloat)0.01;
m_points[i+1] = 2.4 - row * (GLfloat)0.01;
m_points[i+2] = (GLfloat)m_data[j] * 0.01;
}
}
在这个函数分配了一个大内存的数组,而这个函数会被多次调用,所以每次程序运行一会就会出现这个错误
2>解决办法:其实这个问题知道了报错原因,解决的办法就多了,向我解决的方法是,将points这个数组空间申请的代码放在类的构造函数中,这样就在程序运行的时候申请一次空间,以后一直使用这一个空间读写。
-------------
经常遇到错误 一直没有总结 再次遇到又不知道怎么解决 特意留文总结
以后会不定时的更新