C2504:定義されていない基本クラスが宣言されています

[戻る]
もけもけ 2006/10/08(日) 02:24:07
皆さんこんばんは。
早速ですが、お助け下さい。
Win XP + Ms VC++ .NET(.NET 2003)で、タイトルにあるエラー"C2504"が取れなくて困っ
ています。
ソースは次の通りで、

<MsgSender.h>
------------------------------------------------------------------------------
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
:
<略>
:
class CMsgSender {
protected:

CMsgSender();
public:

CMsgSender( CWinThread* );

virtual ~CMsgSender();
:
<略>
:
};
------------------------------------------------------------------------------

<MsgSender.cpp>
------------------------------------------------------------------------------
:
<略>
:
#include "MsgSender.h"

CMsgSender::CMsgSender(){}
CMsgSender::CMsgSender(CWinThread* p){}
CMsgSender::~CMsgSender(){}
------------------------------------------------------------------------------

<HogeMsgSender.h>
------------------------------------------------------------------------------
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "MsgSender.h"

class CHogeMsgSender : public CMsgSender{ //<-- ここでエラー
public:

~CHogeMsgSender();
:
<略>
:
};
------------------------------------------------------------------------------

<HogeMsgSender.h>
------------------------------------------------------------------------------
#include "HogeMsgSender.h"

CHogeMsgSender::~CHogeMsgSender(){}
------------------------------------------------------------------------------
となっています。
ヘルプを見ると、「インクルードファイルが無い」「外部基本クラスの宣言が extern 
を付けて行われてない」とあります。
インクルードファイルは存在するので、恐らく後者に引っ掛かるのだろうと思うのです
が、書いてある意味と対処方法がわかりません。
ヘルプにもこれ以上の詳細は無いようですし…
どなたかお解りになる方お見えでしたら、ご教授願えないでしょうか?
宜しく御願い致します。

επιστημη 2006/10/08(日) 10:43:28
示されたコードに間違いがない限り、そのエラーは起こりようがなさそうです。

MsgSender.h に何らかの欠陥があるように思えます。

古いスレッドには追加発言できません。