Bonjour à tous.

J'ai un petit problème avec std::common_type. En effet le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <type_traits>
 
template<class T> class MyClass
{ 
    public:
        MyClass(const T& n) : _n(n) {;}
        template<class TRHS> MyClass<typename std::common_type<T, TRHS>::type> myFunction(const MyClass<TRHS>& rhs) 
        {
            return MyClass<std::common_type<T, TRHS>::type>(_n*2+rhs._n);
        }
        T _n; 
};
 
int main()
{
    MyClass<double> a(3);
    MyClass<int> b(5);
    std::cout<<(a.myFunction(b))._n<<std::endl;
    return 0;
}
ne compile pas et me renvoie le message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
erreur:   expected a type, got ‘std::common_type<T, TRHS>::type’
D'où vient le problème et comment y remédier ?

Merci beaucoup