I'm a little confused about argument dependent lookup. Exactly when does
this apply? Specifically, I was hoping to use it to access enumeration
constants. For example:
namespace Flags {
enum flag_type {F1, F2, F3};
}
void foo(Flags::flag_type f)
{
}
int main()
{
foo(F1);
}
A my compiler's fail to find "F1" (and they are probably correct). I
thought that Koenig lookup searched for names in the namespaces of the
arguments' types. Now that I think about it, does it look in the namespaces
for the formal or actual arguments?
Thanks.