gpt4 book ai didi

c++ - 如何实例化类的公共(public)成员并将其作为 std::promise 返回?

转载 作者:行者123 更新时间:2023-11-27 23:44:12 28 4
gpt4 key购买 nike

我希望实例化一个类的公共(public)成员并将其作为 promise 返回。
这就是我想要做的:

class A
{
public:
int x;
};

std::future<A> returnPromiseA(int y)
{
std::promise<A> promise;
promise.x = y; //<- THIS IS INCORECT
return promise;
}

promise.x = y; 是一个不正确的语法。
赋值的正确语法是什么?

最佳答案

您不能通过 std::promise 访问模板类型的成员。要在 std::promise 中设置值,您需要使用 set_value功能。

这意味着你的代码应该看起来像

std::future<A> returnPromiseA(int y)
{
std::promise<A> promise;
promise.set_value(A{y}); // construct an A with the desired value and set promises' value to that
return promise;
}

关于c++ - 如何实例化类的公共(public)成员并将其作为 std::promise 返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51936344/

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