| View previous topic :: View next topic |
| Author |
Message |
Aurelien Regat-Barrel Guest
|
Posted: Tue Feb 14, 2006 10:06 am Post subject: Precisions sur la resolution de noms avec les namespaces |
|
|
Bonjour,
L'exemple suivant compile, et je ne comprends pas vraiment pourquoi:
namespace nm
{
class A
{
public:
A( int ) {}
};
}
class B : public nm::A
{
B() : A( 10 ) // au lieu de nm::A( 10 )
{
A a( 1 ); // OK
}
};
Je me doute que les 2 dernières lignes ne posent pas problème grâce à la
même règle, mais j'ai du mal à la deviner et à la comprendre.
Quelle est cette règle qui équivaut à un "using nm::A" implicite ?
Pourquoi ce comportement, que j'aurais tendance à qualifier d'effet de
bord ?
Merci.
--
Aurélien Regat-Barrel |
|
| Back to top |
|
 |
Reno Guest
|
Posted: Tue Feb 14, 2006 7:06 pm Post subject: Re: Precisions sur la resolution de noms avec les namespaces |
|
|
La règle du unqualified name lookup. A est d'abord cherché dans le
scope de la classe B puis dans le(s) scope(s) des base classes puis
finalement dans le scope global. |
|
| Back to top |
|
 |
Aurelien Regat-Barrel Guest
|
Posted: Fri Feb 17, 2006 9:06 am Post subject: Re: Precisions sur la resolution de noms avec les namespaces |
|
|
Reno a écrit :
| Quote: | La règle du unqualified name lookup. A est d'abord cherché dans le
scope de la classe B puis dans le(s) scope(s) des base classes puis
finalement dans le scope global.
|
Ok. Merci de ta réponse.
--
Aurélien Regat-Barrel |
|
| Back to top |
|
 |
|