2011-01-13 25 views
-1

C++では、クラスに静的メンバー変数があります。静的メンバー変数の値を正しく渡す方法は?

次に、この静的メンバー変数を構造体初期化の配列に渡します。今私の問題は、structのメンバーの価値がなくなったことです。

静的メンバー変数に関する理解が不足しているかどうかを説明してください。静的メンバーには、独自の値を渡す制限がありますか?

アドバイスをしてください。

感謝

+1

コードを投稿すると、わかりやすく理解できます – ckv

+2

例を挙げてください。 – karlphillip

+2

ここに詳細が必要です。あなたの問題を示す最小限の(!)例を投稿してください。特に、 "構造体初期化の配列に渡す"とはどういう意味ですか? 「行った」とはどういう意味ですか? –

答えて

1

静的メンバ変数は、ことを除いて、通常のグローバルのようなものです:

  • その名前は、それがメンバーとなっているクラスのものにスコープされます。クラスは名前空間のように機能しますが、テンプレートで使用できるように、より強力な方法で動作します。

  • 保護されていても、プライベートであっても、そのクラスにアクセスできるメンバーだけがメンバーにアクセスできます。

オブジェクトごとに1つではなく、1つのインスタンスがあります。

通常、プライベート静的メンバー変数は、そのクラスのコンパイル単位の匿名名で同じタイプの「隠し」変数に置き換えることができます。これは、ヘッダー内のクラスの実装(プライベートメンバーが通常である)を公開する必要がないため、好ましいオプションです。

あなたが行っていることと動作しない理由を正確に見るために、エラーを複製する例を挙げると便利です。

関連する問題