Suche nach Argument-AbhängigenElements des Name-(Koenig) auf Funktionen

Der Compiler kann der Suche nach dem Namen des abhängigen Argument verwenden, um die Definition eines nicht qualifizierten Funktionsaufrufs zu suchen.Argument-abhängigen der Suche nach dem Namen des Elements wird auch Koenig-Suche aufgerufen.Der Typ jedes Arguments in einem Funktionsaufruf wird innerhalb einer Hierarchie von Namespaces, Klassen, Strukturen, Unions oder Vorlagen definiert.Wenn Sie einen nicht qualifizierten Postfix-Funktionsaufruf zugeordneten angeben, wird vom Compiler sucht die Funktionsdefinition in der Hierarchie mit jedem Argumenttyp.

Beispiel

Das folgende Beispiel funktioniert in Visual C++ .NET 2003 und höher und verhält sich wie im C++-Standard entspricht.Im Beispiel wird die Compiler-Hinweise, die funktionieren, f() ein Argument x.Argument x ist vom Typ A::X, der im Namespace Adefiniert ist.Der Compiler sucht Namespace A und sucht eine Definition für f()-Funktion, die ein Argument des Typs A::Xakzeptiert.

// argument_dependent_name_koenig_lookup_on_functions.cpp
namespace A
{
   struct X
   {
   };
   void f(const X&)
   {
   }
}
int main()
{
// The compiler finds A::f() in namespace A, which is where 
// the type of argument x is defined. The type of x is A::X.
   A::X x;
   f(x);   
}

Siehe auch

Weitere Ressourcen

Visual C++ .NET 2003. erweiterte Compiler-Übereinstimmung