私は最近、Visual Studio 11 Developer Previewをインストールしました。スレッドや先物で遊んでいる間に、私はこのセットアップに来た:VS 11 with std :: future - これはバグですか?
#include <future>
#include <iostream>
int foo(unsigned a, unsigned b)
{
return 5;
}
int main()
{
std::future<int> f = std::async(foo, 5, 7);
std::cout << f.get();
}
とても簡単。しかし、 "foo"には2つの引数があるので、VS 11はそれをコンパイルしたくありません。 (い++ただし、G:http://ideone.com/ANrPj)を(ランタイムエラーが問題ありません:std::future exception on gcc experimental implementation of C++0x)(VS 11にErrorMessage:http://pastebin.com/F9Xunh2s)
このエラーもそれならば、私には非常に明白なようですので、私は、今少し混乱しています開発者のプレビューです。だから私の質問は次のとおりです:
- このコードはC++ 11の標準に従って正しいですか?
- このバグは既に知られているか報告されていますか?
バグレポートが見つかりました:http://connect.microsoft.com/VisualStudio/feedback/details/729760/std-async-fails-compilation-for-callable-with-two-or-arguments – yohjp