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

Ser*_*kov 6 c++ using

这合法吗?



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

using SomeClass::f;

Run Code Online (Sandbox Code Playgroud)

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

Sah*_*has 5

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

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

希望这可以帮助。

  • 您可以将名称带到任何名称空间,而不仅仅是全局名称空间。你*可以*在成员函数上使用`using`,但只能在派生类中使用。 (4认同)