![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- C言語・C++・C# VisualStudioでC++クラスを追加するとき、ファイルを所定のフォルダ下につくりたい 3 2023/08/24 17:17
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) Excelで漢字人名が勝手に並び変わる(続) 4 2023/03/21 21:28
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
(UWSC) 「#32770」の意味わかり...
-
Delphi6でVB.NETで作成のDLL呼出
-
Visual C++ 6.0 でクラス表示が...
-
DebugクラスとTraceクラスの違い
-
循環参照の問題に関して。
-
関数重複の問題
-
C# 別プロジェクトのフォームを...
-
C#で通常のbuttonコントロール...
-
MFC モードレスDlgについて
-
C++で継承元のクラスの代入演算...
-
Serialize で困ってます!!
-
DataGridViewのセルに斜線を引...
-
ダイアログクラスのコントロー...
-
c#でファクトリークラスの使い方
-
ダイアログ表示時にチェックボ...
-
VC++6.0で作成したクラスをVB6....
-
CViewクラスの切り替え
-
MFCのドラッグ&ドロップについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
(UWSC) 「#32770」の意味わかり...
-
クラスのアドレスを引数として...
-
エディットコントロールのイベ...
-
ダイアログ表示時にチェックボ...
-
イベントにAddHandlerされてい...
-
ダイアログクラスのコントロー...
-
C++ protectedにアクセス不可
-
DebugクラスとTraceクラスの違い
-
DataGridViewのセルに斜線を引...
-
【ASP.NET】 独自で作成したク...
-
このコンパイルエラーの意味に...
-
継承を重ねた場合のコストはど...
-
エディットコントロールでEnter...
-
ボタンのオーナードローについて
-
C#で通常のbuttonコントロール...
-
MFCのCListCtrlでスクロールを検出
-
【C++】相互参照
-
関数の呼び出し元の検索
おすすめ情報