解决 在CXXFrame里包含CXXView头文件出错的问题

来源:互联网 发布:大数据修炼系统笔趣阁 编辑:程序博客网 时间:2024/05/16 05:19
在CXXFrame里要调用当视类里的函数就要用到 CXXView *pView = (CXXView *)GetActiveView();
注:多文档中要在CChildFrame中调用
这样就要包含CXXView的头文件。但编译时会提示:
XXView.h(16): error C2143: 语法错误 : 缺少“;”(在“*”的前面)
XXView.h(16): error C2501: “CScribbleView::CScribbleDoc” : 缺少存储类或类型说明符
XXView.h(16): error C2501: “CScribbleView::GetDocument” : 缺少存储类或类型说明符
XXView.h(16): warning C4183: “GetDocument”: 缺少返回类型;假定为返回“int”的成员函数
XXView.cpp(51): error C2065: “CScribbleDoc” : 未声明的标识符
 
这是因为在VC++中头文件是不单独参与便宜的。在XXView.h文件中有一个CXXDoc* GetDocument() const; 但在XXView.h中没有包含XXDoc头文件。但被包含在了XXView.cpp中 所以编译不会出错。但在CXXFrame中包含了XXView.h 编译器就不认CXXDoc了,所以编译会出错。
解决办法1: 把XXDoc.h包含在XXView.h中就可以了
原创粉丝点击