[解決済み] C++ グローバル変数宣言
2022-03-06 04:47:50
質問
あるヘッダーファイルで変数を定義し、その変数をインクルードするたびに再定義することなく、2つの異なるcppファイルで使用したいのです。
以下は、私が試した方法です。
変数.h
#ifndef VARIABLES_H // header guards
#define VARIABLES_H
static bool bShouldRegister;
#endif
(externも試しましたが、何も変わりませんでした)
そして、cppファイルの中で、値を与えています。
::bShouldRegister = true
または
bShouldRegister = true;
別のcppファイルでは、スレッドを作成してその値をループでチェックしています(そして、私のスレッド関数はうまく動作しています)。
while (true)
{
if (::bShouldRegister) // Or if (bShouldRegister)
{
MessageBox(NULL,"Value Changed","Done",MB_OK|MB_ICONINFORMATION);
}
Sleep(100);
}
そして、そう、そのメッセージボックスは表示されない(bShouldRegisterがtrueにならない:/)。
解決するには?
を使用する必要があります。
extern
そうでない場合は
bShouldRegister
という変数があり、各翻訳ユニットでおそらく異なる値をとります。
これをヘッダーファイル(.h)に記述してください。
extern bool bShouldRegister;
実装ファイル(.cpp)に記述してください。
bool bShouldRegister;
関連
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] 変数が「未定義」または「NULL」であるかどうかを判断するにはどうすればよいですか?
-
[解決済み] JavaScriptで変数が存在するか(定義されているか/初期化されているか)をチェックする
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
-
[解決済み] JavaScriptで変数が配列であるかどうかを確認する方法は?
-
[解決済み] "お知らせ 未定義変数"、"Notice: Notice: 未定義のインデックス", "Notice:未定義のインデックス", "Notice."。PHPを使用した「未定義のオフセット
-
[解決済み] 変数が存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み】JavaScriptで定義されていない変数を確認する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ クラスヘッダが含まれているときに「不明な型」があるのはなぜですか?重複
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】C++の変数はイニシャライザーを持っているが、不完全な型?
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み] インライン変数の仕組みは?