void MainWindow::moveAgvs(int i),void MainWindow::action_agv() { std::vectorstd::thread threads; threads.push_back(std::thread(&AGVScheduler::assign_task_to_agv, std::ref(tasks), std::ref(agvs))); // 分配小车 for (int i = 0; i < agvs.size(); i++) { threads.push_back(std::thread(& MainWindow::moveAgvs, i)); // 更新 AGV } for (auto& t : threads) { t.join(); ,報錯:no matching function for call to “std:: thread :: _ lnvoker<std::tuple<std::tuple<void...怎麽修改

时间: 2024-01-20 19:03:00 浏览: 26
在这段代码中,报错的原因可能是 `std::thread` 构造函数中的参数类型不正确。在 `std::thread` 构造函数中,第一个参数应该是需要在新线程中运行的函数指针,第二个参数是该函数需要的参数。因此,正确的写法应该是: ``` threads.push_back(std::thread(&MainWindow::moveAgvs, this, i)); ``` 这样就可以将 `MainWindow` 对象和 `i` 作为参数传递给 `MainWindow::moveAgvs` 函数,并在新的线程中运行该函数。注意,这里使用了 `this` 来显式传递 `MainWindow` 对象的指针。
相关问题

void MainWindow::moveAgvs(int i),怎麽修改 threads.push_back(std::thread(&moveAgvs, std::ref(agvs), i));

如果您想修改这段代码以实现您的需求,可以考虑以下几个方面: 1.修改"moveAgvs"函数的实现来满足您的需求,可以添加、删除或修改函数的参数和实现。 2.修改"threads.push_back"语句,以确保您的修改不会对其他部分产生影响。您可以根据需要添加、删除或修改传递给函数的参数。 例如,如果您想修改"moveAgvs"函数的实现,可以在函数中添加一些逻辑来控制AGV的移动方向、速度、目标等。如果您想修改线程的实现方式,可以使用不同的线程库或语言来实现。以下是一些可能的修改示例: 1.修改"moveAgvs"函数的实现,在移动AGV之前打印一些调试信息。 ```c++ void MainWindow::moveAgvs(int i) { // 打印调试信息 std::cout << "moving AGV " << i << std::endl; // 移动AGV // ... } ``` 2.修改"threads.push_back"语句,添加一个新的参数来控制线程的优先级。 ```c++ threads.push_back(std::thread(std::bind(&MainWindow::moveAgvs, this, i), std::ref(agvs), i, std::chrono::milliseconds(100), std::thread::priority::high)); ``` 3.使用不同的线程库或语言来实现线程。 ```python import threading def moveAgvs(i): # 移动AGV # ... # 创建线程 t = threading.Thread(target=moveAgvs, args=(i,)) # 启动线程 t.start() ```

void MainWindow::moveAgvs(int i),怎麽修改代碼: threads.push_back(std::thread(&moveAgvs, std::ref(agvs), i));

如果您想修改这段代码以实现您的需求,可以考虑以下几个方面: 1. 修改"moveAgvs"函数的实现来满足您的需求,可以添加、删除或修改函数的参数和实现。 2. 修改"threads.push_back"语句,以确保您的修改不会对其他部分产生影响。您可以根据需要添加、删除或修改传递给函数的参数。 以下是一些可能的修改示例: 1. 修改"moveAgvs"函数的实现,添加一些逻辑,如控制AGV的移动速度、方向等。 ```c++ void MainWindow::moveAgvs(int i) { // 移动AGV // ... // 控制AGV的移动速度 std::this_thread::sleep_for(std::chrono::milliseconds(10)); } ``` 2. 修改"threads.push_back"语句,添加一个新的参数,如线程名称。 ```c++ threads.push_back(std::thread(&moveAgvs, std::ref(agvs), i, "AGV-" + std::to_string(i))); ``` 3. 使用Lambda表达式替代函数指针,以简化代码。 ```c++ threads.push_back(std::thread([this, i]() { // 移动AGV // ... })); ``` 无论您选择哪种修改方式,都需要确保修改后的代码能够正确地实现您的需求,并且不会对其他部分产生影响。

相关推荐

最新推荐

recommend-type

六首页数字藏品NFT交易网React NextJS网站模板 六首页数字藏品nft交易网反应NextJS网站模板

六首页数字藏品NFT交易网React NextJS网站模板 六首页数字藏品nft交易网反应NextJS网站模板
recommend-type

wireshark安装教程入门

wireshark安装教程入门
recommend-type

基于C++负数据库的隐私保护在线医疗诊断系统

【作品名称】:基于C++负数据库的隐私保护在线医疗诊断系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 基于负数据库的隐私保护在线医疗诊断系统 NDBMedicalSystem 客户端及服务器端 本项目是在保护用户隐私的前提下,完成了对新冠肺炎、乳腺癌、眼疾等多种疾病的智能诊断。
recommend-type

基本的嵌入式操作系统给

任务管理
recommend-type

3-10.py

3-10
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。