是否可以在静态类函数[C ++]上使用'using'声明?

时间:2009-08-22 08:16:07

标签: c++ using

合法吗?



class SomeClass {
public:
  static void f();
};

using SomeClass::f;

编辑:我忘记了限定功能。抱歉。

2 个答案:

答案 0 :(得分:3)

不,不是。 using关键字用于将名称空间中的一个或所有成员带入全局名称空间,以便每次使用成员时都可以访问它们而无需指定名称空间的名称。

在您给出的using语句中,未提供名称空间的名称。即使你在那里为SomeClass提供了类似using SomeClass::f;的语句,它也不会起作用,因为SomeClass不是命名空间。

希望这有帮助。

答案 1 :(得分:2)

我认为using x;通常在类中使用,以将基类中的方法名称引入范围,以避免隐藏基类方法。

您可能会想到using namespace name;仅适用于名称空间。

使用简单的内联函数可能会更好:

void f(){ SomeClass::f(); }