Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从std::future到非标量std::future的转换引发错误_C++_C++11_C++14 - Fatal编程技术网

C++ 从std::future到非标量std::future的转换引发错误

C++ 从std::future到非标量std::future的转换引发错误,c++,c++11,c++14,C++,C++11,C++14,方法validatestd::string&request,int&id返回bool 使用此语法时,编译将完成: auto task_1 = std::async([&]{ validate(request, id); }); 但是,当我使用std::future时,编译失败: std::future<bool> task_1 = std::async([&]{ Internal::validate(request, id); }); 改变 到 你的lambda没

方法validatestd::string&request,int&id返回bool

使用此语法时,编译将完成:

auto task_1 = std::async([&]{ validate(request, id); });
但是,当我使用std::future时,编译失败:

std::future<bool> task_1 = std::async([&]{ Internal::validate(request, id); });
改变

你的lambda没有回音;因此,它不能作为未来bool的来源

如果validate没有返回bool,它应该是未来的一个选项。

更改

std::future<bool> task_1 = std::async([&]{ Internal::validate(request, id); });

你的lambda没有回音;因此,它不能作为未来bool的来源


如果validate没有返回bool,那么它应该是未来的一个选择。

问题是,您需要实际从lambda返回一个值,函数才能具有返回类型。因为您没有这样做,所以std::async的返回类型是std::future


std::async[&]{return Internal::validaterequest,id;};将导致std::future

问题是,您需要实际从lambda返回一个值,函数才能具有返回类型。因为您没有这样做,所以std::async的返回类型是std::future


std::async[&]{return Internal::validaterequest,id;};将导致std::future

您的lambda没有返回任何内容,投票以打字错误结束您的lambda没有返回任何内容,投票以打字错误结束
std::future<bool> task_1 = std::async([&]{ Internal::validate(request, id); });
std::future<bool> task_1 = std::async([&]{ return Internal::validate(request, id); });