
No.4ベストアンサー
- 回答日時:
まさか, 「実体を定義していない」というオチはないよなぁ....
すみません、そのまさかでした;
値を入れる関数を通過したあとでexternしたら普通にできました;
externする場合、一番初めに宣言しなければならないと思い込んで
値入れられないけどタグ名付けたし、ここで呼ぶしか・・等と考えてしまって
やらかしてたみたいです。 orz
そして 構造体 extern のキーワードで検索して見て回ってたサイトは
きっと別の情報だったのですね・・。
お騒がせして申し訳ありませんでした。
無事解決できました。有難うございました。 っ_ _)っ
No.3
- 回答日時:
構造体の定義そのものをexternとかしてるんじゃないですよね
何に対してexternを付けられるのかわかってますか
この回答への補足
すみません、
「構造体の配列」にexternをつけるとエラーが出てしまいます。
extern struct panel panels[35];
このようにすると
error LNK2001: 外部シンボル ""struct panel * panels" (?panels@@3PAUpanel@@A)" は未解決です。
error LNK1120: 外部参照 1 が未解決です。
とエラーが出てしまいます。
No.2
- 回答日時:
別に構造体が「特別なやり方をしないとダメ」ということはないです. もちろんその変数の型がわからないといけないんですが, ちゃんと構造体を定義しておけば extern できます.
例えば, ヘッダに
struct some_struct {
int member1;
double member2;
char *member3;
};
extern some_struct a_struct;
とあれば, これを #include したファイルで a_struct を使うことができます.
No.1
- 回答日時:
>普通の変数、配列のexternはできているのですが、
>構造体をexternができずに困っています。
どんなソースコードを書いたときに、
普通の変数や配列ではできたことが
構造体ではできないのでしょうか?
構造体だからといって特別扱いする必要はないです。
「構造体の配列」にexternをつけるとエラーが出てしまいます。
extern struct panel panels[35];
このようにすると
externが無ければ正常に動くのですが、
error LNK2001: 外部シンボル ""struct panel * panels" (?panels@@3PAUpanel@@A)" は未解決です。
error LNK1120: 外部参照 1 が未解決です。
とエラーが出てしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2番目の最大値を求める
-
int i, int i[1];
-
配列の要素数に変数を入れたい...
-
C言語から質問です。
-
関数から配列を返すには?
-
「互換でない型変換」というエ...
-
100の階乗のプログラムって
-
AfxBeginThread の引数について
-
CStringからchar*への型変換に...
-
リッチテキストボックスの中身...
-
「#undef」と「#define」の使い...
-
C# Listを使わずに2次元配列の...
-
allocってなんですか?
-
TCHAR文字列内の検索について
-
C言語 配列の長さの上限
-
ExcelVBAでのkernel32(64bit)
-
C言語のポインタに直接アドレス...
-
VBAのプログラムで、DIAG = 1# ...
-
ExcelVBAで質問です。離れた二...
-
NASMかNASKの文法の本
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数から配列を返すには?
-
C言語において、 配列要素をひ...
-
配列の要素数に変数を入れたい...
-
c言語
-
define で 配列
-
C#で構造体の配列を持った構造...
-
C#で配列が空かを判定するには?
-
コンボボックスでデフォルト値...
-
C言語 ファイルの指定された行...
-
C言語の2次元配列 容量が大き...
-
2番目の最大値を求める
-
MFCのCArrayを使った二次元配列
-
MFC - ダイアログボックスのPic...
-
構造体のextern方法
-
要素数・要素の値が未定の配列...
-
C言語についてです 5人のテスト...
-
配列のアドレス部
-
構造体を引数とする関数について
-
fclose()でセグメンテーション違反
-
C言語 数値の連続入力について
おすすめ情報