为什么 `using` 关键字不能用于静态 class 成员?
Why the `using` keyword cannot be used for static class member?
using
使标识符在全局范围内可见,但为什么不能用于 static
class 成员?
例如using std::string::size_type;
是错误的。为什么?
Why cannot be used for static
class member?
的用法
Using
-declarations can be used to introduce namespace members into
other namespaces and block scopes, or to introduce a base class
members into derived class definitions.
std::string::size_type;
是在std::string
class中定义的member type,不是命名空间或任何命名空间中的函数。
因此,使用using
,您只能specify/declare alias type for a type。例如:
using string_size_type = std::string::size_type;
using
使标识符在全局范围内可见,但为什么不能用于 static
class 成员?
例如using std::string::size_type;
是错误的。为什么?
的用法Why cannot be used for
static
class member?
Using
-declarations can be used to introduce namespace members into other namespaces and block scopes, or to introduce a base class members into derived class definitions.
std::string::size_type;
是在std::string
class中定义的member type,不是命名空间或任何命名空间中的函数。
因此,使用using
,您只能specify/declare alias type for a type。例如:
using string_size_type = std::string::size_type;