次のコードがあるとします。
using namespace std;
namespace abc {
void sqrt(SomeType x) {}
float x = 1;
float y1 = sqrt(x); // 1) does not compile since std::sqrt() is hidden
float y2 = ::sqrt(x); // 2) compiles bud it is necessary to add ::
}
::なしでabc名前空間内でstd::sqrtを呼び出す方法はありますか? 私のプロジェクトでは、もともと名前空間を使用していなかったため、オーバーロードされたすべての関数が表示されていました。名前空間 abc を導入すると、オーバーロードによって隠されているすべての関数を手動でチェックし、:: を追加する必要があることを意味します
この問題を処理する正しい方法は何ですか?