错误:'pthread'没有命名类型

时间:2016-08-27 07:34:02

标签: c++ multithreading posix

我正在尝试编译我的项目,但看到以下错误。

代码:RESTServer.h

#ifndef __RESTSERVER__
#define __RESTSERVER__

#include <string>
#include <pthread.h>

using namespace std;

class RESTServer{
    private:
            RESTServer();
            ~RESTServer();
    public:
            static pthread *thread;
            static void init_rest_server();
};
#endif

错误:

RESTServer.h:14:10: error: ‘pthread’ does not name a type
   static pthread *thread;

我试图将指向pthread的指针声明为C ++类的成员。任何人都可以帮助我。

1 个答案:

答案 0 :(得分:3)

阅读pthread_create(3);对于线程句柄,opaque类型为pthread_t(不是pthread*)。

BTW,希望您使用一些优秀的C ++ 11或C ++ 14实现(例如Linux上的GCC 5GCC 6),您应该考虑使用C++11 threads库,即std::thread