std::vector<AGV> agvs; // 所有AGV的集合 std::vector<Task> tasks; 什麽意思
时间: 2024-05-25 12:13:40 浏览: 7
这段代码定义了两个变量:`agvs`和`tasks`,都是使用C++标准库中的`std::vector`容器存储的。
`agvs`是一个`AGV`类型的向量,表示所有AGV的集合,其中`AGV`可能是一个自定义的结构体或类。
`tasks`是一个`Task`类型的向量,表示所有任务的集合,其中`Task`也可能是一个自定义的结构体或类。
这两个向量可以用来存储程序中需要处理的AGV和任务,方便进行后续的操作和管理。
相关问题
void assign_task_to_agv(std::vector<Task>& tasks, std::vector<AGV>& agvs);怎麽修改: threads.push_back(std::thread(&AGVScheduler::assign_task_to_agv, std::vector<Task>& tasks, std::vector<AGV>& agvs));
在创建新的线程时,需要将函数的参数直接传递给 `std::thread` 构造函数,不需要在参数类型前面加上参数名。因此,正确的写法应该是:
```
threads.push_back(std::thread(&AGVScheduler::assign_task_to_agv, std::ref(tasks), std::ref(agvs)));
```
这样就可以将 `tasks` 和 `agvs` 作为参数传递给 `AGVScheduler::assign_task_to_agv` 函数,并在新的线程中运行该函数。注意,这里使用了 `std::ref` 来将 `tasks` 和 `agvs` 引用传递给线程,避免了拷贝。
void MainWindow::moveAgvs(int i),void AGVScheduler::assign_task_to_agv(std::vector<Task>& tasks, std::vector<AGV>& agvs),以下代碼報錯:void MainWindow::action_agv() { std::vector<std::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(&moveAgvs, i));// 更新 AGV } for (auto& t : threads) { t.join(); } }
这段代码报错的原因是在调用"std::thread"的构造函数时,传递给"AGVScheduler::assign_task_to_agv"函数的参数列表中多了一个右括号")"。您可以将代码修改为以下形式:
```c++
void MainWindow::action_agv() {
std::vector<std::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(&moveAgvs, i)); // 更新 AGV
}
for (auto& t : threads) {
t.join();
}
}
```
将多余的右括号")"删除即可。另外,您需要确保"tasks"和"agvs"向量在调用"action_agv"函数时已经被正确初始化,以避免其他潜在的运行时错误。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)