--例を更新しました--
ここに少しのコードがあります:
int retInt(int a) { return a; }
void randomFunction()
{
int a = 3;
auto future = async([&]{ return retInt(a); });
const auto ret = future.get();
}
VS2012 インテリセンスは、「ret」は aconst < error-type >
であり、コンパイルを許可しないことを通知し、次の出力メッセージを表示します。
['void' から 'const auto' の型を推測できません]
たとえば、「ret」を から に変更しconst auto
てconst int
実際の型を指定すると、すべて正常にコンパイルされますが、自動バージョンが機能しない理由と、バージョンを作成するために何らかのコード変更が行われる可能性があるかどうか疑問に思っています自動コンパイル。
何か案は?
ノート:
の変更
auto future = async([&]{ return retInt(a); });
に
auto future = async([&] ()->int{ return retInt(a); });
同じ結果が得られます