在c++中 有时一个头文件需要引用另一个头文件的类此时 需在引用前加上 class ×××;
如:
class CTestServerView;
class CItem;
class CMainFrame : public CFrameWnd
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Attributes
public:
CTestServerView *m_pView;
// Operations
}
否则将出现莫名的错误
1>------ 已启动全部重新生成: 项目: test, 配置: Debug Win32 ------
1>正在删除项目“test”(配置“Debug|Win32”)的中间文件和输出文件
1>正在编译...
1>stdafx.cpp
1>正在编译...
1>test.cpp
1>c:/documents and settings/administrator/桌面/test/test/mainfrm.h(16) : error C2143: 语法错误 : 缺少“;”(在“*”的前面)
1>c:/documents and settings/administrator/桌面/test/test/mainfrm.h(16) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:/documents and settings/administrator/桌面/test/test/mainfrm.h(16) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>MainFrm.cpp
1>c:/documents and settings/administrator/桌面/test/test/mainfrm.h(16) : error C2143: 语法错误 : 缺少“;”(在“*”的前面)
1>c:/documents and settings/administrator/桌面/test/test/mainfrm.h(16) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:/documents and settings/administrator/桌面/test/test/mainfrm.h(16) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>testDoc.cpp
1>testView.cpp
1>正在生成代码...
1>生成日志保存在“file://c:/Documents and Settings/Administrator/桌面/test/test/Debug/BuildLog.htm”
1>test - 6 个错误,0 个警告
========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========