アンパックされた varidic テンプレート引数を受け入れる関数で遅延戻り型を使用するのに問題があります。これは Nov CTP Visual Studio ではコンパイルされません。
template <typename Function, typename ...Args>
auto invoke ( Function f, Args... args)
-> decltype(f(args...))
{
return f(args...);
}
int foo(int x, const char* y = "Hello") {
cout << x << " : " << y << endl;
return x;
};
int _tmain(int argc, TCHAR* argv[]) {
auto v = invoke(&foo, 10, "Hello There");
cout << v << endl;
return 0;
}
どんな助けでも感謝します。