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

news/2024/11/8 11:45:27/

这是一个很简单的开启一个线程, 用于演示一个线程和生命周期之间的错误,但是还没有把这个错误暴露出来, 就遇见了一个编译问题. 线程中执行指定逻辑的代码
线程的执行方法, 声明写在了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.ppmy.cn/news/1545345.html

相关文章

java访问华为网管软件iMaster NCE的北向接口时传递参数问题

上一篇文章介绍了利用《java访问华为网管软件iMaster NCE的北向接口》的一般性步骤&#xff0c;这里详细介绍其中一个读取性能数据的示例。原因是读取华为网管软件北向接口&#xff0c;完全找不到可供参考的例子。如果不需要传递什么参数&#xff0c;就能获取到结果&#xff0c…

特征检测与特征匹配方法笔记+代码分享

在一幅图像中&#xff0c;总能发现其独特的像素点&#xff0c;这些点可以被视为该图像的特征&#xff0c;我们称之为特征点。在计算机视觉领域中&#xff0c;基于特征点的图像特征匹配是一项至关重要的任务&#xff0c;因此&#xff0c;如何定义并识别一幅图像中的特征点显得尤…

【vue2.0入门】认识vue工程

目录 引言一、工程目录介绍1. package.json文件2. src\App.vue3. src\components 文件夹4. src\assets 文件夹5. node_modules 文件夹6. 其他 二、安装 vuejs devtools 插件1. 下载插件2. 配置插件3. 使用插件 三、总结 引言 本系列教程旨在帮助一些零基础的玩家快速上手前端开…

物联优化汽车齿轮锻造

在汽车齿轮的锻造工艺中&#xff0c;锻造温度、锻造压力与行程、锻造速度与锤击方式以及热处理工艺等核心参数扮演着举足轻重的角色。这些参数的精准控制与实时监测&#xff0c;对于提升生产效率、确保产品质量、削减生产成本以及推动生产智能化转型具有不可估量的价值。明达技…

遥测终端机RTU产品如何选型和配置

在配置远程终端单元&#xff08;RTU&#xff09;时&#xff0c;首先需要确认其支持的数据接口类型&#xff0c;例如常见的RS-232、RS-485接口&#xff0c;以及以太网连接方式。这些接口类型将决定RTU如何与其他设备进行数据交换和通信。 接下来&#xff0c;需要确定RTU支持的输…

【Rust中多线程同步机制】

Rust中多线程同步机制 多线程编程Rust中的多线程编程thread::spawnmove Rust中的线程间同步机制Rust线程间同步机制之MutexRust线程间同步机制之读写锁Rust线程同步机制之条件变量Rust中的信号量Rust中的Atomic Rust中线程间的数据传递总结 多线程编程 多线程编程&#xff0c;…

【C/C++】strncpy函数的模拟实现

零.导言 之前我们学习了strncpy函数&#xff0c;不妨我们现在尝试模拟实现strncpy函数的功能。 一.实现strncpy函数的要点 strncpy函数是一种字符串函数&#xff0c;可以按字节拷贝字符类型的数组&#xff0c;因此我们自定义的模拟函数需要两个char类型的指针参数&#xff1b;…

html5拖放

1、什么是拖放&#xff08;Drag 和 Drop&#xff09; 拖放&#xff0c;字面意思就是拖动&#xff0c;放置 在编程里面也是如此,拖放是一种常见的特性&#xff0c;即抓取对象以后拖到另一个位置。 在 HTML5 中&#xff0c;拖放是标准的一部分&#xff0c;任何元素都能够拖放。…