头文件交叉定义出现--GetDocument missing storage-class or type specifiers错误的解决方法
GetDocument missing storage-class or type specifiers的解决方法
error C2143: syntax error : missing ';' before '*'
error C2501: 'CTest1Doc' : missing storage-class or type specifiers
error C2501: 'GetDocument' : missing storage-class or type specifiers
遇到这种莫名的错误,最可气了。
当我在childFrm中加入 #include "CMyView.h"便报的错
解决方法1是:
是在自己要使用的View类的.cpp文件中加入下面一句声明:
class CMyDoc;
解决方法2是:
是在自己要使用的View类的.cpp文件
#include "XXXDoc.h"
#include "XXXView.h"
#include "MainFrm.h"
具体的,可以拿三峡(周达超编的)应用程序来说明~~
CPlatformGL这个类中,要用到CModuleGL这个类,
CModuleGL这个类,也要用到CPlatformGL这个类, 如果正常的在头文件交叉包含的话,很容易出现上面描述的编译问题,
解决方法1:
在CPlatformGL这个类的头文件中,加上#include "ModuleGL.h"
另外,还有在整个类的定义前,加上class CModuleGL; //类声明,避免交叉定义
(我看到周达超程序还在类定义前,加上了using namespace std;//命名空间,不知道和这个有没有关系)
同样的,
在CModuleGL这个类的头文件中,加上#include "PlatFormGL.h",
在类的定义前,加上class CModuleGL;
三峡程序的第二个例子~~
在SXSystem这个类中,需要获取视图类CSXS_testView类的指针(即,要用到视图类),
在视图类中也要调用SXSystem类,如实就有下面的解决方法~~
解决方法2:
在SXSystem类的源文件(*.cpp文件,而不是*.h)中,包含了三个文件,如下:
#include "MainFrm.h"
#include "SXS_testDoc.h"
#include "SXS_testView.h"
而在视图类中,只需在头文件包含SXSystem类即可,即#include "SXSystem.h"
以上是两种常规的解决方法,都很好用~~(用第一种较多)
头文件交叉定义出现--GetDocument missing storage-class or type specifiers错误的解决方法相关推荐
- javah导出类的头文件抛出异常——java.lang.IllegalArgumentException: Not a valid class name(原因及解决方法)
[0]README 0.1) 本文旨在给出 java.lang.IllegalArgumentException 异常的原因 和 处理方法, 该异常和 javah 没有半毛钱关系 : 0.2) 本文附 ...
- Asp.net上传文件限制,在大于5M的时候出现DNS解析错误,解决方法。
在利用 private void Upload_Click(object sender, System.EventArgs e) { if(this.File1.PostedFile.Con ...
- 在GHOST的WINXPSP2安装SQL SERVER2000个人版时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装之前,必须重新启动计算机。”错误的解决方法...
打开注册表编辑器,查找PendingFileRenameOperations项目,删除(继续查找,直到查找完成),然后即可安装.
- c语言头文件中定义inline static相关函数的优劣
头文件中常见static inline函数,于是思考有可能遇到的问题,如头文件经常会被包含会不会产生很多副本?网上说法不一.于是自己验证.经过arm-none-eabi-gcc下测试后得出结论. in ...
- 编写一个头文件,头文件中定义一个宏cube(x)用于求一个数的平方
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p145 7.1.2 上级实训内容 [实现内容17]编写一个头文件,头文件中定义一个宏cube(x)用于 ...
- 能否用痰盂盛饭——谈谈在头文件中定义外部变量
能否用痰盂盛饭--谈谈在头文件中定义外部变量 - garbageMan - 博客园 能否用痰盂盛饭--谈谈在头文件中定义外部变量 "能否用痰盂盛饭"并非是一个技术问题,而是一个哲学 ...
- ios中头文件交叉导入问题
ios中头文件交叉导入问题 比如类man中#import "woman.h" 类woman中#import "man.h" 解决方法: 把类woman中#imp ...
- 能不能在头文件中定义全局变量?
首先,这是一篇科普文,所以 比较杂,我尽量写清楚一些. 1.ANSI C标准是什么?GNU又是什么?ld是什么? ANSI C是C语言的标准规范,是国际标准化组织制定的国际标准. 虽然 ANSI C规 ...
- 头文件源文件定义标准
头文件源文件定义标准 @TOC- 前言 头文件源文件定义标准(自己理解) Function1.h #pragma once #ifndef ADI_HEADER #define ADI_HEADERe ...
最新文章
- SAP MM 物料主数据的Document Data
- Hibernate基础学习(二)—Hibernate相关API介绍
- 当安装软件后提示依赖没有安装时
- android java代码重启,如何在Android中重启服务?
- Redis之key的淘汰策略
- win11怎么去除快速搜索 Windows11去除快速搜索的步骤方法
- 解决SecureCRT连接linux超时后断开
- AJAX.NET用户开发指南
- ul列表中包含input时line-height属性失效的解决办法
- PreferenceActivity使用简介
- Jquery实现可拖动进度条
- Win32反汇编(七)浮点指令(FLD / FILD / FSTP)与位移指令的逆向分析
- 单片机开发板的入门学习
- 电脑如何截长图?如何用电脑截取长图——规划全景
- ubuntu状态栏消失
- electron调节windows系统音量解决方案
- 大聪明教你学Java | 实现邮件发送(以163邮箱向QQ邮箱发送邮件为例)
- java配置ehcache_配置和使用Ehcache
- 实习生到公司第一天应该怎么快速上手
- 移动IM开源框架对比