皆さんこんばんは。
早速ですが、お助け下さい。
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
を付けて行われてない」とあります。
インクルードファイルは存在するので、恐らく後者に引っ掛かるのだろうと思うのです
が、書いてある意味と対処方法がわかりません。
ヘルプにもこれ以上の詳細は無いようですし…
どなたかお解りになる方お見えでしたら、ご教授願えないでしょうか?
宜しく御願い致します。
示されたコードに間違いがない限り、そのエラーは起こりようがなさそうです。
MsgSender.h に何らかの欠陥があるように思えます。