开发环境: Qt Creator 4.11.0
在写程序的时候,遇到了编译器报错 error: must use 'class' tag to refer to type 'thread' in this scope
void Server::incomingConnection(int socketDescriptor) { thread *h = new thread(socketDescriptor); connect(h,&thread::isFinished,h,&thread::deleteLater);//当线程完成后,释放内存 h->start(); }
thread是我定义的一个类(线程),查找原因发现,thread是QObject类的一个函数,所以需要指明是是一个类。
QThread *QObject::thread() const
修改如下:
void Server::incomingConnection(int socketDescriptor) { class thread *h = new class thread(socketDescriptor); connect(h,&thread::isFinished,h,&thread::deleteLater);//当线程完成后,释放内存 h->start(); }