代码之家  ›  专栏  ›  技术社区  ›  Sijith

初始化常量数据的值

  •  1
  • Sijith  · 技术社区  · 15 年前

    static const  QString ALARM_ERROR_IMAGE ;
    

    我想初始化

    ALARM_ERROR_IMAGE          = "error.png";
    

    可以初始化吗 error.png static const QString ALARM_ERROR_IMAGE 想把它留在课堂上吗

    2 回复  |  直到 15 年前
        1
  •  2
  •   Chubsdad    15 年前

    类的静态变量只能在命名空间范围中显式定义一次(不管它们是否进一步限定)。

    在.cpp文件中(例如 <ClassName>.cpp ),在全局命名空间中(假设您的类位于全局命名空间中),按如下方式定义它(假设QString中存在适当的构造函数)

    注意:我错过了下面定义中的const

    const QString <ClassName>::ALARM_ERROR_IMAGE = "error.png";
    

    $9.4.2/2-“宣布 不完整的类型 cv合格无效。的定义 静态数据成员应出现在 类定义。在定义中 静态数据成员应是合格的 通过其类名使用:: “操作员。”

        2
  •  0
  •   Santosh kumar    15 年前

    不可能留在里面。