gcc 3.4.4 だと、順番で挙動が異なる。
MSVCだと、どっちでも通る。

// OK
namespace ns { struct X; }
using ns::X;
int X;

// NG
namespace ns { struct X; }
int X;
using ns::X;

だめだ。 using を使いこなす自信が無い。