2
namespace Foo {
class Bar { };
}
namespace Foo {
namespace Foo {
class FooFooClass {
public:
void do_stuff(Bar& key);
};
}
}
using namespace Foo::Foo;
void FooFooClass::do_stuff(Bar& key) {
}
前述片段编译XCode中,但在Visual Studio中不编译(关于失败第三至最后一行与'Bar': undeclared identifier
)哪一个更正确根据C++标准。我假设clang是以专有的非标准跟踪方式推断Bar
的正确命名空间?Xcode推断命名空间?
GCC 7.0.1也有它的工作,所以它可能是MSVC的错。 – user975989