Déclaration de variable dans la condition d'un if
	
	
		Bonjour.
Si j'ai les classes suivantes:
	Code:
	
| 12
 3
 4
 
 |  
  class Base { public: virtual ~Base(); [...] };
  class One : public Base { [...] };
  class Two : public Base { [...] }; | 
 Est-ce que le code suivant est du C++ standard? (c'est à dire, est-ce que déclarer une variable dans le if est valide?). Il semblerait que ça marche en VC6.
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 |  
  void aFunction( const Base & object )
  {
    if (const One* pOne = dynamic_cast<const One*>(&Object))
    {
      pOne->doSomething();
    }
    else if (const Two* pTwo = dynamic_cast<const Two*>(&Object))
    {
      pTwo->doSomethingElse();
    }
    else
    {
      // No use of pOne or pTwo.  
    }
  } | 
 C'est pour éviter de faire 2 fois le dynamic_cast, une fois dans la condition du if, l'autre dans le traitement.
  
Merci.