合法吗?
class SomeClass {
public:
static void f();
};
using SomeClass::f;
编辑:我忘记了限定功能。抱歉。
答案 0 :(得分:3)
不,不是。 using关键字用于将名称空间中的一个或所有成员带入全局名称空间,以便每次使用成员时都可以访问它们而无需指定名称空间的名称。
在您给出的using语句中,未提供名称空间的名称。即使你在那里为SomeClass提供了类似using SomeClass::f;
的语句,它也不会起作用,因为SomeClass不是命名空间。
希望这有帮助。
答案 1 :(得分:2)
我认为using x;
通常在类中使用,以将基类中的方法名称引入范围,以避免隐藏基类方法。
您可能会想到using namespace name;
仅适用于名称空间。
使用简单的内联函数可能会更好:
void f(){ SomeClass::f(); }