|
Boost Users : |
Subject: Re: [Boost-users] zip_iterator.hpp / boost::tuple requires a using namespace std!
From: Nathan Ridge (zeratul976_at_[hidden])
Date: 2012-03-01 05:12:40
> Thankyou Lars & Nathan, the addition of the .template has fixed it. I am
> still confused as to why the "using" statement appeared to fix/hide the
> problem, but it is good to know the correct solution.
My guess would be that the name lookup process performed by the compiler
when resolving the "get" depends on what other things named "get" are in
scope. The "using namespace std" function brings std::get into scope
which somehow affects the outcome of the name lookup process.
C++ is a very hard language for compilers to work with. Even the best
compilers just approximate the behaviour prescribed by the C++ standard.
Bugs like this one, where the compiler accepts invalid code in some
corner cases, naturally get lower priority treatment than bugs where the
compiler fails to accept valid code or generates wrong machine code, so
they tend to stay around.
Regards,
Nate
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net