Se admite ahora la búsqueda dependiente de argumentos (Koenig)
Actualización: noviembre 2007
La búsqueda Koenig se encuentra ahora totalmente implementada en el compilador de Visual C++.
Para obtener más información, vea Argument-Dependent Name (Koenig) Lookup on Functions.
Ejemplo
El ejemplo siguiente se comporta de manera diferente en tiempo de ejecución en Visual Studio .NET y en Visual Studio .NET 2003
// bc_argument_dependent_AKA_Koenig_lookup_now_supported.cpp
// compile with: /W1
#include <stdio.h>
namespace N {
class X {};
void f(X *pX) {
printf_s("in N::X::f\n");
}; // called if compiled with 7.1
}
void f(void *pv) {
printf_s("in ::f\n");
}; // called if compiled with 7.0
int main() {
N::X *pX = 0;
f(pX);
// The following lines will result in the same behavior
// in Visual Studio .NET or Visual Studio .NET 2003
f((void*)pX); // Cast pX to void before calling f; calls global f
::f(pX); // Explicitly specify global f
N::f(pX); // Explicitly specify f in namespace
}
in N::X::f
in ::f
in ::f
in N::X::f