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错误的解决方法相关推荐

  1. javah导出类的头文件抛出异常——java.lang.IllegalArgumentException: Not a valid class name(原因及解决方法)

    [0]README 0.1) 本文旨在给出 java.lang.IllegalArgumentException 异常的原因 和 处理方法, 该异常和 javah 没有半毛钱关系 : 0.2) 本文附 ...

  2. Asp.net上传文件限制,在大于5M的时候出现DNS解析错误,解决方法。

    在利用 private void Upload_Click(object sender, System.EventArgs e)   {    if(this.File1.PostedFile.Con ...

  3. 在GHOST的WINXPSP2安装SQL SERVER2000个人版时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装之前,必须重新启动计算机。”错误的解决方法...

    打开注册表编辑器,查找PendingFileRenameOperations项目,删除(继续查找,直到查找完成),然后即可安装.

  4. c语言头文件中定义inline static相关函数的优劣

    头文件中常见static inline函数,于是思考有可能遇到的问题,如头文件经常会被包含会不会产生很多副本?网上说法不一.于是自己验证.经过arm-none-eabi-gcc下测试后得出结论. in ...

  5. 编写一个头文件,头文件中定义一个宏cube(x)用于求一个数的平方

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p145 7.1.2 上级实训内容 [实现内容17]编写一个头文件,头文件中定义一个宏cube(x)用于 ...

  6. 能否用痰盂盛饭——谈谈在头文件中定义外部变量

    能否用痰盂盛饭--谈谈在头文件中定义外部变量 - garbageMan - 博客园 能否用痰盂盛饭--谈谈在头文件中定义外部变量 "能否用痰盂盛饭"并非是一个技术问题,而是一个哲学 ...

  7. ios中头文件交叉导入问题

    ios中头文件交叉导入问题 比如类man中#import "woman.h" 类woman中#import "man.h" 解决方法: 把类woman中#imp ...

  8. 能不能在头文件中定义全局变量?

    首先,这是一篇科普文,所以 比较杂,我尽量写清楚一些. 1.ANSI C标准是什么?GNU又是什么?ld是什么? ANSI C是C语言的标准规范,是国际标准化组织制定的国际标准. 虽然 ANSI C规 ...

  9. 头文件源文件定义标准

    头文件源文件定义标准 @TOC- 前言 头文件源文件定义标准(自己理解) Function1.h #pragma once #ifndef ADI_HEADER #define ADI_HEADERe ...

最新文章

  1. SAP MM 物料主数据的Document Data
  2. Hibernate基础学习(二)—Hibernate相关API介绍
  3. 当安装软件后提示依赖没有安装时
  4. android java代码重启,如何在Android中重启服务?
  5. Redis之key的淘汰策略
  6. win11怎么去除快速搜索 Windows11去除快速搜索的步骤方法
  7. 解决SecureCRT连接linux超时后断开
  8. AJAX.NET用户开发指南
  9. ul列表中包含input时line-height属性失效的解决办法
  10. PreferenceActivity使用简介
  11. Jquery实现可拖动进度条
  12. Win32反汇编(七)浮点指令(FLD / FILD / FSTP)与位移指令的逆向分析
  13. 单片机开发板的入门学习
  14. 电脑如何截长图?如何用电脑截取长图——规划全景
  15. ubuntu状态栏消失
  16. electron调节windows系统音量解决方案
  17. 大聪明教你学Java | 实现邮件发送(以163邮箱向QQ邮箱发送邮件为例)
  18. java配置ehcache_配置和使用Ehcache
  19. 实习生到公司第一天应该怎么快速上手
  20. 移动IM开源框架对比

热门文章

  1. SVM——详细讲解SMO算法优化两个变量以及变量的选择
  2. 浅谈json web token及应用
  3. Visio studio 基本控件
  4. Q42将牌洗为逆序2
  5. Exchange 2013 强制中断POP3及IMAP4故障排错
  6. 上交所又披露受理9家企业科创板上市申请,总计28家...
  7. 2022CPA审计-第二编-审计测试流程【完结-没会。】
  8. 视频点播cdn加速\直播cdn加速解决方案
  9. AWS ECS Fargate 集群创建
  10. TLWR742N路由器服务器无响应,TP-Link TL-WR742N路由器WDS桥接设置