Qt 非静态成员函数作为线程函数?
发布日期:2021-06-30 10:11:57 浏览次数:3 分类:技术文章

本文共 380 字,大约阅读时间需要 1 分钟。

Qt使用中,有次使用非静态成员函数作为线程函数

即:

trhead_creat(&id,,NULL,线程函数,NULL);

出现了问题,说invalid use of non-static nember function

查询了资料发现,类的非静态成员函数都有一个隐含的参数即,this指针。

看似线程函数一个参数没有,实际上隐含了一个参数,当然无法调用。

要么将线程函数转化成静态成员函数,为类所有,防止出现this指针。

但有时候线程函数中需要使用一些类的非静态成员函数,则需要this指针,很不方便。

也可以使用非静态成员函数作为线程函数的。

即:

trhead_creat(&id,,NULL,线程函数fun,this);

void *fun(void *arg)

{

 Myclass *p =  (Myclass *)arg;

p->func();

}

转载地址:https://islet.blog.csdn.net/article/details/78104561 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C++ fstream读写数组学习与源代码
下一篇:动态库和静态库的区别(转)

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月13日 20时03分04秒