0

静的メンバー変数を含むクラスがあります。リンクで見たのと同じように、.cpp ファイルの匿名名前空間を使用して初期化したいと思います: C++ で定数文字列を配置する場所: 静的クラス メンバーまたは匿名名前空間

しかし、現在の会員料金をスコープで定義できないというエラーが表示されます。なんで?

//A.h
namespace myclass
{
class A
{
   private:
      static double rate;
};
}


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

}
4

1 に答える 1

1

できません: すでにクラスの修飾されたメンバーです:

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

しましょう。宣言のstaticため、 はすでに固執します。

static意味が異なるため、混乱が生じる可能性があります。

ただし、クラス メンバーは、可視性(内部/外部リンケージ)staticとは何の関係もありません。代わりに、保存期間が必要です。

于 2013-08-04T22:21:46.263 に答える