Dlaczego może dochodzić do konfliktów, żeby już się nie powtarzać..
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rs-using
Dyrektywa using, tj. używająca przestrzeni nazw, pozwala na wyszukanie dowolnej nazwy w przestrzeni nazw określonej przez dyrektywę using.
using namespace my::funny::valentine;
Deklaracja using wprowadza pojedynczą nazwę z przestrzeni nazw, tak jakby została zadeklarowana w zakresie zawierającym deklarację użycia:
using my::funny::valentine::heart;