以下是示例代码。
在Visual Studio 2015中尝试时,这会打印两次“a”,这种行为是由标准定义的还是特定于实现的?
#include <iostream>
using namespace std;
namespace A {
void f() { cout << "a" << endl; }
}
namespace B {
void f() { cout << "b" << endl; }
}
namespace C {
using namespace A;
using namespace B;
using A::f;
}
namespace D {
using A::f;
using namespace A;
using namespace B;
}
int main()
{
C::f();
D::f();
}
在Visual Studio 2015中尝试时,这会打印两次“a”,这种行为是由标准定义的还是特定于实现的?