I see two drawbacks when using the “using namespace” directive.
First, if two namespaces expose the same function/object name, using it without namespace identifier is ambiguous. I’m not sure how the compiler handles this: if it blocks with an error, or compile it anyway (and good luck at runtime - which item does it use from the two namespaces?).
Second: code readability. Without namespace qualifier, a reader cannot be sure what was the actual object/function being used, making it harder to understand and maintain the code.