#include <iostream>
#include <memory>
#include <future>
using namespace std;
unique_ptr<int> uq(new int);
void foo(unique_ptr<int> q)
{}
int main()
{
foo(move(uq));
//^OK
async(foo, move(uq));
//^Error: error C2248: 'std::unique_ptr<_Ty>::unique_ptr' :
// cannot access private member declared in class 'std::unique_ptr<_Ty>'
}
Почему 'async' не компилируется? Я использую Microsoft Visual Studio 2012 (v4.5.50709).std :: async with std :: unique не компилируется
'...' как автономный оператор недействителен C++, и вам не хватает некоторых '# include'. –
@ Голосовые гонки на орбите Я просто не хочу повторять все известные коды. – user2431141
Ваша идея того, что «все знают», субъективна и может содержать ошибки. Лучше всего оставить «...» полностью и написать правильные «# include», чтобы мы могли видеть, что вы знаете это правильно. В конце концов, вот почему вы пришли сюда, верно? –