当前位置: 首页 > news >正文

C++ 线程初始化编译报错

这是一个很简单的开启一个线程, 用于演示一个线程和生命周期之间的错误,但是还没有把这个错误暴露出来, 就遇见了一个编译问题. 线程中执行指定逻辑的代码
线程的执行方法, 声明写在了ThreadRun.h 实现写在 ThreadRun.cpp中.

class ThreadRun {
public:
void func();
};
void ThreadRun::func() {cout << "Thread: " << this_thread::get_id() << " start" << endl;cout << "Thread: " << this_thread::get_id() << " end" << endl;
}

main方法调用: 此处出现编译异常,红字代表报错内容

int main() {ThreadRun myClass;//此处报错://"error: no matching constructor for initialization of 'thread'"thread t1(myClass.func());   t1.join();return 0;   
}

函数构造方法传参错误, 在Main.cpp中, 将代码改为

int main() {ThreadRun myClass;// 代码改动处// thread t1(myClass.func()); thread t1(&ThreadRun::func, &mgClass);   t1.join();return 0;   
}

总结:
Thread如果绑定的执行逻辑, 是一个类里面的成员函数, 那么thread在初始化的时候, 需要绑定该方法之外, 还需要将其所操作的或者涉及的对象作为参数传入!

http://www.lryc.cn/news/478847.html

相关文章:

  • [MySQL]视图
  • Windows Server2012 R2搭建NFS服务器
  • SQL题:使用hive查询各类型专利top 10申请人,以及对应的专利申请数
  • 使用sealos部署的集群在部署metrics-server时日志x509
  • WPF怎么通过RestSharp向后端发请求
  • promise的用法以及注意事项,看了这篇你就会了
  • vue3如何使用pinia设置全局状态,附常见面试题
  • lerna+umi ‘max‘ 不是内部或外部命令,也不是可运行的程序
  • 美格智能5G车规级通信模组: 5G+C-V2X连接汽车通信未来十年
  • 「C/C++」C/C++ 指针篇 之 指针运算
  • 计算机网络网络层笔记
  • 长亭那个检测能力超强的 WAF,出免费版啦
  • rabbitMQ RabbitTemplate 发送消息
  • 本系列是《10万字208道Java经典面试题总结(附答案)》的2024修订版。
  • C语言文件基础概念的理解(一)
  • C++ lambda 匿名函数
  • 基于python的简单web服务器示例
  • 02- 模块化编程-006 ADC0808数码显示对比
  • 又发现了Mac妙控鼠标的新使用方法
  • Webserver(4.6)poll和epoll
  • LVGL 与 QT
  • 如何选择最适合的项目管理软件?2024年大厂首选7款工具盘点
  • 【数据结构】选择排序——选择排序 和 堆排序
  • P11229 [CSP-J 2024] 小木棍
  • 【学习笔记】SAP ABAP——OPEN SQL(一)【SELECT语句】
  • SQL注入(1)
  • 在AI时代,如何解决人的工作岗位被AI替代的问题?
  • Linux命令--paste
  • 数据结构模拟题[九]
  • 2024年10月国产数据库大事记-墨天轮