#define LPCSTR LPSTR
typedef char* LPSTR
#define UINT int
#define PASCAL _stdcall
#define NULL 0class CObject;struct CRuntimeClass
{
LPCSTR m_lpszClassName;
int m_nObjectSize;
UINT m_wSchema;
CObject* (PASCAL* m_pfnCreateObject)();
CRuntimeClass* m_pBaseClass;
CObject* CreateObject();
static CRuntimeClass* PASCAL Load();
static CRuntimeClass* pFirstClass;
CRuntimeClass* m_pNextClass;
};struct AFX_CLASSINIT
{
AFX_CLASSINIT(CRuntimeClass* pNewClass);
};#define RUNTIME_CLASS(class_name) \
(&class_name::class##class_name)
#define DECLARE_DYNAMIC(class_name) \
public: \
static CRuntimeClass class##class_name \
virtual CRuntimeClass* GetRuntimeClass() const;
#define DECLARE_DYNCREATE(class_name) \
DECLARE_CYNAMIC(class_name) \
static CObject* PASCAL CreateObject();
#define _IMPLEMENT_RUNTIMECLASS(class_name,base_class_name,wSchema,pfnNew) \
static char _lpsz##class_name[]=#class_name; \
CRuntimeClass class_name::class##class_name={ \
lpsz##class_name,sizeof(class_name),wSchema,pfnNew, \
RUNTIME_CLASS(base_class_name),NULL}; \
static AFX_CLASSINIT _init_##class_name(&class_name::class##class_name); \
CRuntimeClass* class_name::GetRuntimeClass() const \
{ return &class_name::class##class_name; }
#define IMPLEMENT_DYNAMIC(class_name,base_class_name) \
_IMPLEMENT_RUNTIMECLASS(class_name,base_class_name,0xFFFF,NULL)
#define IMPLEMENT_DYNCREATE(class_name,base_class_name) \
CObject* PASCAL class_name::CreateObject() \
{ return new class_name; } \
_IMPLEMENT_RUNTIMECLASS(class_name,base_class_name,0xFFFF,class_name::CreateObject)
class CObject
{
public:
CObject(){}
~CObject(){}
virtual CRuntimeClass* GetRuntimeClass() const;
bool IsKindOf(const CRuntimeClass* pClass) const;
public:
static CRuntimeClass classCObject;
};object.h(7) : error C2144: syntax error : missing ';' before type 'CObject'
object.h(7) : fatal error C1004: unexpected end of file found大家帮帮忙。
typedef char* LPSTR
#define UINT int
#define PASCAL _stdcall
#define NULL 0class CObject;struct CRuntimeClass
{
LPCSTR m_lpszClassName;
int m_nObjectSize;
UINT m_wSchema;
CObject* (PASCAL* m_pfnCreateObject)();
CRuntimeClass* m_pBaseClass;
CObject* CreateObject();
static CRuntimeClass* PASCAL Load();
static CRuntimeClass* pFirstClass;
CRuntimeClass* m_pNextClass;
};struct AFX_CLASSINIT
{
AFX_CLASSINIT(CRuntimeClass* pNewClass);
};#define RUNTIME_CLASS(class_name) \
(&class_name::class##class_name)
#define DECLARE_DYNAMIC(class_name) \
public: \
static CRuntimeClass class##class_name \
virtual CRuntimeClass* GetRuntimeClass() const;
#define DECLARE_DYNCREATE(class_name) \
DECLARE_CYNAMIC(class_name) \
static CObject* PASCAL CreateObject();
#define _IMPLEMENT_RUNTIMECLASS(class_name,base_class_name,wSchema,pfnNew) \
static char _lpsz##class_name[]=#class_name; \
CRuntimeClass class_name::class##class_name={ \
lpsz##class_name,sizeof(class_name),wSchema,pfnNew, \
RUNTIME_CLASS(base_class_name),NULL}; \
static AFX_CLASSINIT _init_##class_name(&class_name::class##class_name); \
CRuntimeClass* class_name::GetRuntimeClass() const \
{ return &class_name::class##class_name; }
#define IMPLEMENT_DYNAMIC(class_name,base_class_name) \
_IMPLEMENT_RUNTIMECLASS(class_name,base_class_name,0xFFFF,NULL)
#define IMPLEMENT_DYNCREATE(class_name,base_class_name) \
CObject* PASCAL class_name::CreateObject() \
{ return new class_name; } \
_IMPLEMENT_RUNTIMECLASS(class_name,base_class_name,0xFFFF,class_name::CreateObject)
class CObject
{
public:
CObject(){}
~CObject(){}
virtual CRuntimeClass* GetRuntimeClass() const;
bool IsKindOf(const CRuntimeClass* pClass) const;
public:
static CRuntimeClass classCObject;
};object.h(7) : error C2144: syntax error : missing ';' before type 'CObject'
object.h(7) : fatal error C1004: unexpected end of file found大家帮帮忙。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货