Bonsoir,
Voici la situation ci dessous

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
22
23
24
25
26
27
28
29
30
 
// header
class A
{
public: A() {}
         int VarA;
};
 
class B 
{
public: B() {}
         int VarB;
};
 
template < class T >
class C
{
public:   void fonction();
 
};
 
template < class T >
void C<T>::fonction()
{
        A *InstanceA;
        if ( typeid(this) == typeid(InstanceA) )
        {
                this->VarA = 0; // Valeur quelconque...
        }
}
Je sais que ca parait normal que l'erreur fasse surface mais ya t-il un moyen de la contourner ... si je passe dans la meme fonction avec une instance de type B, la condition ne sera de toute facon pas vrai.
Et si c'est pas faisable comment faire pour éviter d'écrire du code inutilement ?!
Merci d'avance !