了解对静态成员的未定义引用
使用包含静态数据成员的类时,您可能会遇到与“未定义引用”相关的错误。这可能是由于对声明和定义缺乏清晰的理解。
声明和定义
在类声明中,静态数据成员通常被声明但不被定义。该声明确定了成员的存在和类型。但是,除非以需要地址的方式使用它,否则还不需要特定的定义。
要为静态数据成员提供定义,应将其放置在包含实现的单独源文件中为了班级。定义由成员名称组成,前面是类 :: 作用域运算符,后跟可选的初始值设定项。
常量例外
对于常量静态成员对于整型或枚举类型,可以在类声明中提供初始值设定项。这并不否定源文件中定义的需要,但它确保定义不包含初始值设定项。
模板
类的静态数据成员模板的定义不同。该定义与类声明一起包含在头文件中。单一定义规则的这一例外允许为模板的每个实例化定义一次静态成员。
静态的其他用途
除了静态数据成员之外, static 也可以应用于非类上下文中的函数和对象,其中它表示不同的含义:
通过理解通过这些概念,您可以有效地处理 C 中的静态数据成员并避免与未定义引用相关的错误。
以上是为什么我在 C 中得到对静态成员的'未定义引用”?的详细内容。更多信息请关注PHP中文网其他相关文章!