はじめまして、はてなくんです。
環境はVC6でMFCを使っています。
CHogeViewのヘッダファイルには
CHogeDoc* GetDocument();
と記述があります。
CHogeViewはなぜCHogeDocを知っているのでしょうか?
ファイルをインクルードしているようには見えません。
よろしくお願いいたします。
CHogeAppのInitInstance()で関連付けているようです。
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMy0407Doc),
RUNTIME_CLASS(CMainFrame), // メイン SDI フレーム ウィンドウ
RUNTIME_CLASS(CMy0407View));
AddDocTemplate(pDocTemplate);
↑この部分。
CHogeViewヘッダでは、インクルードすることなくCHogeDocを使っているように
見えますが、コンパイルの対象はCHogeViewのソースファイルであり、この冒頭で
HogeView.hより前にStdAfx.hをインクルードしています。
このファイルは中を見ても何のことか私には良くわからないのですが、
MFCがうまくやってくれているのだと思います。
たいちう殿
ありがとうございました。Viewのcppを見れば一発解決でした。
私もボケてましたね。
直前のHogeDoc.hに気づかず、StdAfx.hのためだと勘違いしました。