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
  • 相关阅读:
    Ubuntu12.04 亮度调节和保存
    算法
    Python一些常见问题的解决方法
    数据结构
    C# 运行时编译代码并执行 【转】
    C# 动态添加属性 非原创 有修改
    30天学通Visual C++项目案例开发 下載
    .NET常用Request获取信息
    获取一个目录下所有的文件,包括子目录的
    C++入门到精通_全集下载
  • 原文地址:https://www.cnblogs.com/ashboy/p/2867112.html
Copyright © 2011-2022 走看看