ambiguous】usingディレクティブを用いたコードで、次のようなエラーが発生してしまうことがある。ambiguous原因は、独自に宣言したstringクラスやmax関数が名前空間std内で既に宣言されているためである。スコープ解決演算子(::)を用いてグローバルスコープ側の機能名と名前空間内の機能名を区別する必要がある。OK改修箇所が多くなる場合は、using宣言を用いて一括で名前解決するのも良いだろう。OK(エイリアス宣言で対処)};同等のエラーは関数やテンプレートクラス、クラスオブジェクトとの競合によっても発生する。ambiguousという異なるエラーメッセージになるが、エラーの趣旨や対処方法は変わらない。OKちなみに、インライン名前空間を用いた場合も、今回と同様の問題が発生する場合があるため注意したい。std;によるusingディレクティブを用いないようにすることである。