2016-05-12 58 views
0

这里https://msdn.microsoft.com/en-us/library/jj969480.aspx约when_any功能(C++ REST SDK)

的代码是这样的

template<typename _Iterator> 
auto when_any(_Iterator _Begin, _Iterator _End, const task_options& _TaskOptions = task_options()) 
-> decltype (details::_WhenAnyImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End)) 
{ 
     typedef typename std::iterator_traits<_Iterator>::value_type::result_type _ElementType; 
     return details::_WhenAnyImpl<_ElementType, _Iterator>::_Perform(_TaskOptions, _Begin, _End); 
} 

我的问题是

typedef typename std::iterator_traits<_Iterator>::value_type::result_type _ElementType; 

其中的result_type来自哪里?

非常感谢

+0

[请参阅卡萨布兰卡文档**这里**](http://microsoft.github.io/cpprestsdk/classpplx_1_1task.html)。 – WhozCraig

+0

所以,它似乎std :: iterator_traits <_Iterator> :: value_type应该是任务, –

回答

1

我解决了这个问题。

看起来像std::iterator_traits<_Iterator>::value_type应该是正确的。

+1

@ graham.reeds:其实,他把他发现的答案,作为一个答案,这绝对是do_正确的事情。 (尽管他没有做得很好。)**答案不在评论部分。** –

+0

@ graham.reeds我只是重新回答了答案的措辞,现在它是一个答案。 –