zoukankan      html  css  js  c++  java
  • 总结:Compiler Error C2504

    Compiler Error C2504

    C2504:'class' : base class undefined
    一般出现了这个错误,后面将跟随若干个成员函数,成员变量未定义的错误,这是因为这个undefined base class中的成员不能被识别造成的。
    首先给出MSDN上的解释:
    This error can be caused by a missing include file or an external base class that was not declared with the extern specifier.
    就是说,没有包含头文件或者是未用extern声明的外部的基类。
    1,没有include头文件的话include "相应的头文件"。
    2,而未用extern声明的话,我觉得应该比较少见,也许个别版本存在可以使用extern声明外部基类,6.0版本应该不存在。C++讲究封装性,extern明显的破坏了封装性,而且只是声明了对象,不能理解跟基类未定义有什么关。
    其他的几种可能:
    3,在编写函数或类的时候,括号匹配出现错误,少了右括号(‘}’,‘)’),比较难发现。一般是在一个文件文件中少写了‘}’,而再基类的头文件中包含了这个文件,这可能使得基类定义那一部分被包含到前面的文件中,因为编译器认为一个类或函数结束的标志是‘}’,直到找到'‘}’。
    4,头文件包含出现错误。比如,基类头文件包含了派生类的头文件。这种情况可能比较难找到错误的根源,特别是在类比较多,结构比较复杂的时候,这就需要我们平时十分的细心和耐心了。

    原作于2012年8月23日

    www.kingreturns.com
  • 相关阅读:
    结对编程队友个人项目分析
    Android入门3:从Toolbar到Material Design
    Qt串口通信
    AVT Vimba与OpenCV环境配置
    Git远程使用技巧
    Android入门2:从GridView控件使用到自定义Adapter
    Android入门1:使用VideoView和MediController播放视频
    kafka+spark streaming+redis学习
    kafka学习笔记
    安卓获取服务器返回的图片资源路径并下载图片
  • 原文地址:https://www.cnblogs.com/ashboy/p/2867112.html
Copyright © 2011-2022 走看看