静的データ・メンバーとテンプレート

C++どのクラス・テンプレートのインスタンス化も、静的データ・メンバーの専用コピーを所有します。 静的宣言は、テンプレート引き数型 または任意の定義された型です。

別々に静的メンバーを定義する必要があります。 次の例は、このことを示しています。

template <class T> class K
{
public:
      static T x;
};
template <class T> T K<T> ::x;
 
int main()
{
      K<int>::x = 0;
}

ステートメント template T K::x は、 クラス K の静的メンバーを定義しますが、main() 関数のステートメントは、K <int> のデータ・メンバーに値を割り当てます。

関連参照

IBM Copyright 2003