2010-04-29 8 views
2

Je regarde dans la documentation et le code source mais ne peux pas comprendre comment obtenir le type valeur de retour du foncteur de liaison boost. Je suis en train d'accomplir ce qui suit:Type de valeur de liaison C++ Boost

35 template<typename T,size_t N, class F> 
36 boost::array<typename F::value_type, N> make_array(T (&input)[N], F unary) { 
37  boost::array<typename F::value_type, N> array; 
38  std::transform(input, input + N, array.begin(), unary); 
39  return array; 
40 } 

où F peut être foncteur lier. Ce qui précède ne fonctionne pas parce que functor n'a pas value_type. d'ailleurs, existe-t-il une interface standard pour un foncteur unaire/binaire aussi loin que la valeur de retour. Solution: il doit s'agir de result_type. également équivalent défini sont argument_type et first/second_argument_type pour les fonctions binaires

Merci de

Répondre

3

Doh. Peu importe, c'est result_type plutôt que value_type. devrais-je supprimer cette question?

+0

Pas grand-chose à faire. Changer le titre, peut-être. Je ne sais pas si le vote par OP pour fermer ne compte que comme un vote, ou si vous pouvez voter pour fermer à 3500. – Potatoswatter