変数の共有

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
長峰
記事: 32
登録日時: 7年前

変数の共有

#1

投稿記事 by 長峰 » 7年前

main.cppにある変数を、利用するクラス群の継承元のクラスにexternを使い宣言しようとしたのですが、クラスメンバーに対するストレージクラスが無効であると、構文エラーが出ました。
ストレージクラスについて調べてみましたが、理解が及ばず、構文との関係がわかりませんでした。

本題の質問ですが、main.cppにある変数を他のソースで共有するには、どうしたら良いのでしょうか。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 変数の共有

#2

投稿記事 by softya(ソフト屋) » 7年前

externをクラスの何処に書こうとしたのでしょうか?
寿命期間が違う場所に書けないので、それで怒られてのでは?
関数の中に書く分には怒られないと思いますが。

>本題の質問ですが、main.cppにある変数を他のソースで共有するには、どうしたら良いのでしょうか。

グローバル変数として書くということなので、あまり歓迎されないのは確かです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

長峰
記事: 32
登録日時: 7年前

Re: 変数の共有

#3

投稿記事 by 長峰 » 7年前

>externをクラスの何処に書こうとしたのでしょうか?
>寿命期間が違う場所に書けないので、それで怒られてのでは?

そのまま置いていました。
externは寿命が長かったのですね。

>グローバル変数として書くということなので、あまり歓迎されないのは確かです。

グローバル変数の意味合いが曖昧なのですが、ヘッダーをincludeしていくことで共有するのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 変数の共有

#4

投稿記事 by softya(ソフト屋) » 7年前

手段は関係ないです。

>グローバル変数の意味合いが曖昧なのですが、ヘッダーをincludeしていくことで共有するのでしょうか?

プログラムの何処からでも参照可能になるものと言う意味で捉えてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

長峰
記事: 32
登録日時: 7年前

Re: 変数の共有

#5

投稿記事 by 長峰 » 7年前

softyaさん回答ありがとうございます。

>プログラムの何処からでも参照可能になるものと言う意味で捉えてください。

グローバル変数の例を見ていつも頭を捻っていたので助かりました。
やはりそのような意味合いで合っていたのですね。

アドバイスを参考に無事コード作成できたので解決とさせて頂きます。ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る