Bonjour,
Cette fois, j'aimerais éviter de créer 12000 templates pour tous les types de données arithmétiques possibles. Aussi, j'arrive avec ce bout de code (qui ne marche pas) :
Code c++ : 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
22
23
24
25
26
27 #include <type_traits> #include <iostream> using namespace std; template<class T> inline int f(const T& t){ if(is_class<T>::value){ return 1337; }else if(is_arithmetic<T>::value){ cout << t+1; return 9999; } } class A{ public: A(){} }; int main(){ A a; cout << f(a); cout << f(3); cout << f(0.5); return 0; }
Je pense que vous voyez ce que je cherche à faire. Le but est d'éviter des constructions comme :
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 template<>int f(const float& t)... template<>int f(const int& t)... //etc...
Partager