gpt4 book ai didi

c++ - 使用变量类型的 std::function 运行线程

转载 作者:行者123 更新时间:2023-11-30 02:32:48 25 4
gpt4 key购买 nike

我想在一个单独的线程中启动一个 std::function 类型。我的代码目前看起来像这样:

struct bar
{
std::function<void(int,int)> var;
};

struct foo
{
bar* b;

foo()
{
std::thread t(b->var); //Error attempt to use a deleted function
}
};

为什么我会在这里尝试使用已删除的函数?

最佳答案

您的变量 b->var 是一个带有两个参数的函数。您需要发送这些参数才能使其工作。

struct bar
{
std::function<void(int,int)> var;
};

struct foo
{
bar* b;
foo()
{
std::thread t(b->var, 76, 89); // will call b->var(76, 89)
}
};

关于c++ - 使用变量类型的 std::function 运行线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36023836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com