例如
struct A
{
static void foo();
static void foo(int);
static void foo(double, char);
...
};
并且在一个范围内
namespace nm
{
using A::foo; // not right
}
如何将类中的静态名称引入范围?
例如
struct A
{
static void foo();
static void foo(int);
static void foo(double, char);
...
};
并且在一个范围内
namespace nm
{
using A::foo; // not right
}
如何将类中的静态名称引入范围?
你不能。
n3376 7.3.3/8
一个类成员的使用声明应该是一个成员声明。
struct X { int i; static int s; }; void f() { using X::i; // error: X::i is a class member // and this is not a member declaration. using X::s; // error: X::s is a class member //and this is not a member declaration.
}
n3376 7.3.3/3
在用作成员声明的 using-declaration 中,nested-name-specifier 应命名正在定义的类的基类。