déclarer le type du membre d'une classe template comme expression des type templates
Hola tod@s !
Mon problème est tout simple et a certainement été posée mille fois, mais je n'arrive pas à faire cracher la réponse par nos moteur de recherche préférés :
Code:
1 2 3 4 5 6 7 8 9 10
| template<typename T, typename U>
class A
{
public:
A(T const& t, U const& u) : member(expression(t,u)) {}
private:
auto expression(T const& t, U const& u) const { return 2*u +t;}
??? member // comment dire à notre ami le compilateur qu'il a a priori tout pour deviner le type du membre ?
} |
Je me doute qu'il faut utiliser quelque chose comme constexpr, result_of ou decltype (ou pas :mrgreen: ) et j'ai bidouillé ce que j'ai pu mais je n'arrive pas à m'en sortir, pourriez-vous m'aiguiller ?
Merci d'avance !