Cette question m'a amené à me demander s'il est jamais utile / nécessaire de qualifier pleinement les noms de classe (y compris l'opérateur de portée globale) dans une définition de fonction membre hors classe.
D'une part, je n'ai jamais vu cela se faire auparavant (et la syntaxe pour le faire correctement semble obscure). De l'autre, la recherche de nom C ++ est très simple, donc peut-être un cas de coin existe.
Question:
Y a-t-il jamais un cas où l'introduction d'une définition de fonction membre hors classe
ReturnType (::Fully::Qualified::Class::Name::MemberFunctionName)(...) { ... }
différerait de
ReturnType Fully::Qualified::Class::Name::MemberFunctionName(...) { ... }
(pas de ::
préfixe de portée globale )?
Notez que les définitions de fonctions membres doivent être placées dans un espace de noms contenant la classe, ce n'est donc pas un exemple valide.