首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用匿名命名空间在.cpp文件中设置静态成员变量?

问如何使用匿名命名空间在.cpp文件中设置静态成员变量?
EN

Stack Overflow用户
提问于 2013-08-04 22:19:05
回答 1查看 205关注 0票数 0

我有一个包含静态成员变量的类,我希望使用.cpp文件中的匿名命名空间来初始化它,就像我在链接:Where to put constant strings in C++: static class members or anonymous namespaces中看到的那样。

但是,我收到一个错误,说当前的会员率不能在范围内定义。为什么?

代码语言:javascript
复制
//A.h
namespace myclass
{
class A
{
   private:
      static double rate;
};
}


//A.cpp
namespace myclass
{
   namespace{
      double A::rate = 99.9;
  }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-04 22:21:46

你不能:它已经是一个类别的合格成员了:

代码语言:javascript
复制
//A.cpp
namespace myclass
{
   double A::rate = 99.9;
}

就行了。由于声明的缘故,static已经坚持了下来。

混淆可能是因为static有不同的含义:

但是,static类成员与可见性(内部/外部链接)无关。相反,它必须与存储持续时间有关。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18048163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档