私はコードフローリングを実行してフローコントロールを必要とします。つまり、一度に1つずつデータを送信する必要があります。これを解決するにはどうすればグローバル変数を使うことができますか?グローバル変数が機能しない場合、異なるクラスにある可能性のある倍数関数の変数にアクセスして修正する方法は何ですか?C++のさまざまなクラスでグローバル変数にアクセスして変更することができます
私は以下を試しました(部分コードを貼り付けています)が、解決しない。私はこの問題を解決するために何が最善の、そしてきれいなアプローチかもしれないのか尋ねたい。
file1.h
int data_received; //global variable
class abc
{
.
.
.
public:
void send_data(..)
.
.
.
};
FILE1.C
file2.c
//data receive class
void transmit_data()
{
....
....
....
//data sent upstream
data_received = 1;
}
私が上で多くの記事を検索しましたstackoverflowしかし、明確な答えはありません。 extern変数を使用することを推奨しますが、複数のクラス関数で変更される外部変数の明確な例はありません。
ありがとうございます。 class_name :: my_global_varを使用して、別のクラスの関数でこの静的変数にアクセスできますか?クラスを#includeする必要がありますか? – user2979872
他のファイル/関数の 'static member'にアクセスすることができます。 C++でstaticキーワードを学んでください。確かに、 '#include'が必要です(コンパイルのステップで、コンパイルする場所を指定する必要があります)。 – Jcppython
@ user2979872別の 'compile'と' link'についてもっと学んでください。それはあなたを助けるでしょう。 – Jcppython