One of the vagaries of my development system (Codegear C++Builder) is that some of the auto-generated headers insist on having…
using namespace xyzzy
…statements in them, which impact on my code when I least want or expect it.
Is there a way I can somehow cancel/override a previous ‘using’ statement to avoid this.
Maybe…
unusing namespace xyzzy;
Nope. But there’s a potential solution: if you enclose your include directive in a namespace of its own, like this…
…then the effects of any using directives within that header are neutralized.
That might be problematic in some cases. That’s why every C++ style guide strongly recommends not putting a ‘using namespace’ directive in a header file.