![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
>#includeで挿入する必要はあるのでしょうか?
必要です。それはclassでなくても
構造体だろうがtypedefだろうが定義は必要ですし
stdio.hをincludeしないとprintfが使えないのと同じ事です。
>定義されていない識別子です。
それは
CMyClass g_myclass;
と宣言して他のファイルからg_myclassを読みとろうとしているのでは?
g_myclassを使用するファイルで
extern CMyClass g_myclass;
としないとシンボリック(識別子)がどれかコンパイラは判断できません。
>ファイルの順番の問題
ヘッダファイルを読みとる順番で、エラーが発生する作りは問題です。
基本的な事ですがヘッダファイルは2重定義しないように
#ifdef XXX #define XXX ~ #endifでくくります。
この回答へのお礼
お礼日時:2004/06/21 19:23
詳しくありがとうございます。
externですか~。すっかり忘れていました・・・。
よくよく調べてみると、プログラムがうまく動かないのはそれ以外にも原因がありそうでした。
もう一度落ち着いてやり直してみる必要がありそうです。
ともかく、ありがとうございました。
No.1
- 回答日時:
通常その作成したクラスを使う場合には、そのクラスの宣言が必要です。
ですので、既存のクラスからその新しいクラスを使用する場合にはヘッダファイルをincludeする必要があります。CPPファイルについては、プロジェクトのソースファイルに追加されており、ビルドの対象となっていればリンク時に自動的にincludeに相当する処理を行いますので不要です。「定義されていない識別子です。」のエラーは例えば、
A.CPP で「クラス1」をグローバル宣言し
B.CPP でその「クラス1」を使用する場合には、B.CPP でexport を使用して外部で定義されていることを明示する必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FriendとPublicの違い。。。
-
MessageBoxを継承したい
-
(UWSC) 「#32770」の意味わかり...
-
OnInitDialog()の関数の組み込み方
-
【ASP.NET】 独自で作成したク...
-
ダイアログ表示時にチェックボ...
-
既定のコンストラクタがない?
-
コンソールアプリでのクリップ...
-
イベントにAddHandlerされてい...
-
継承したクラスを、継承元のク...
-
オーナードローのリストに対す...
-
派生クラスから基本クラスprote...
-
MFCのCListCtrlでスクロールを検出
-
正規表現 [^/]+ の意味を教えて
-
C++ protectedにアクセス不可
-
エディットコントロールでEnter...
-
C#のクラス設計について教えて...
-
MFC オリジナルDLLからエク...
-
C++で継承元のクラスの代入演算...
-
CFrameWnd とCFormView2
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
ダイアログ表示時にチェックボ...
-
クラスのアドレスを引数として...
-
(UWSC) 「#32770」の意味わかり...
-
C++ protectedにアクセス不可
-
MFCのCListCtrlでスクロールを検出
-
イベントにAddHandlerされてい...
-
DebugクラスとTraceクラスの違い
-
エディットコントロールでEnter...
-
ダイアログクラスのコントロー...
-
エディットコントロールのイベ...
-
【ASP.NET】 独自で作成したク...
-
MFCのドラッグ&ドロップについて
-
OnInitDialog()の関数の組み込み方
-
MessageBoxを継承したい
-
[MFC] CWnd::MessageBoxの警告...
-
C++で継承元のクラスの代入演算...
-
C#で通常のbuttonコントロール...
-
MFCアプリのコマンドラインでパ...
おすすめ情報