auto lambda = [](){ return 7; };
std::result_of<decltype(lambda)()>::type val = lambda(); // 'val' : illegal use of type 'void'
エラーが発生します:'val' : illegal use of type 'void'。タイプがvoidとして解決されるのはなぜですか?
私は何が私を得るのかについて誤解されるかもしれresult_ofません。渡すことができるものからの戻り値が欲しいだけですstd::function。