【发布时间】:2016-07-06 12:53:48
【问题描述】:
我一直在尝试学习如何使用线程,但在创建线程时遇到了困难。我正在像这样的类构造函数中创建线程...
Beacon::Beacon() {
pthread_create(&send_thread,NULL, send, NULL);
}
send 函数还没有做任何事情,但它看起来是这样的。
void Beacon::send(void *arg){
//Do stuff
}
每次运行代码时,我都会收到无效使用非静态成员函数错误。我试过使用 &send,但没有用。我也将最后一个 NULL 参数设置为此,但这不起作用。我一直在查看其他示例代码来尝试模仿它,但似乎没有任何效果。我做错了什么?
【问题讨论】:
-
非常简单,所有非成员函数都有一个隐藏的第一个参数,它成为
this变量。我建议您改为查看std::thread。