精华内容
下载资源
问答
  • 问题描述error c2504未定义基类,编译错误,和#include头文件有关。感谢http://blog.csdn.net/qncj666/article/details/8562338详细描述(代码引自Cocos2d-x手游开发Mario)Item.h...#include "ItemMushroom.h"class ...

    问题描述

    error c2504未定义基类,编译错误,和#include头文件有关。

    感谢

    http://blog.csdn.net/qncj666/article/details/8562338

    详细描述

    (代码引自Cocos2d-x手游开发Mario)

    Item.h

    ...

    #include "ItemMushroom.h"

    class Item:public CCSprite

    {

    ...

    public:

    static Item* create(CCDictionary* dict);

    ...

    }

    Item.cpp

    #include "Item.h"

    ...

    Item* Item::create(CCDictionary* dict)

    {

    const CCString* type = dict->valueForKey("type");

    if (type->m_sString == "mushroom")

    {

    return ItemMushroom::create(dict);

    }

    return NULL;

    }

    ...

    因为我在Item.cpp文件 函数static Item* create(CCDictionary* dict); 的实现中用到了ItemMushroom类的成员函数,所以在Item.h文件中 引用了ItemMushroom.h头文件。

    然而我的ItemMushroom类是派生自Item

    ItemMushroom.h

    #include "Item.h"

    class ItemMushroom:public Item

    {

    ...

    };

    那么问题来了,在Item.h头文件中我包含了ItemMushroom.h,

    在ItemMushroom.h头文件中又包含了Item.h,在包含的顺序上出现了闭合环状。

    原因分析:

    编译器首先编译Item.h,因为其包含ItemMushroom.h,引入ItemMushroom.编译,ItemMushroom继承自Item,Item尚未编译成功。此时VS2013 报错error 2504: Item 未定义基类。此错误是在编译Item.h头文件出错。

    解决方法

    头文件在包含顺序上不要成闭合环状,顺序结构最好应该是树。

    Item.h 中删除#include "ItemMushroom.h"

    Item.cpp 中加入#include "ItemMushroom.h"

    Item.cpp

    #include "Item.h"

    #include "ItemMushroom.h"

    ...

    Item* Item::create(CCDictionary* dict)

    {

    const CCString* type = dict->valueForKey("type");

    if (type->m_sString == "mushroom")

    {

    return ItemMushroom::create(dict);

    }

    return NULL;

    }

    ...

    展开全文
  • 未定义基类

    2021-03-18 20:28:05
    原因: 派生类 Include 基类的.h 放在cpp中。 修改:将基类的.h放在派生的.h中

    可能原因1: 派生类 Include 基类的.h 放在cpp中。
    修改:将基类的.h放在派生的.h中

    可能原因2:派生类cpp中 include顺序不对,将基类.h提前

    展开全文
  • 编译时提示如下错误:duilib\utils\utils.h(251) : error C2504: “VARIANT”: 未定义基类duilib\utils\utils.h(269) : error C2061: 语法错误 : 标识符“LPOLESTR”duilib\utils\utils.h(269) : err...

    创建win32应用程序的工程文件,删除不需要的代码,只留下空的winmain函数。

    编译时提示如下错误:

    duilib\utils\utils.h(251) : error C2504: “VARIANT”: 未定义基类

    duilib\utils\utils.h(269) : error C2061: 语法错误 : 标识符“LPOLESTR”

    duilib\utils\utils.h(269) : error C2535: “DuiLib::CVariant::CVariant(void)”: 已经定义或声明成员函数

    duilib\duilib\utils\utils.h(253) : 参见“DuiLib::CVariant::CVariant”的声明

    打开stdafx.h头文件,发现存在宏定义:

    #define WIN32_LEAN_AND_MEAN

    这个宏定义的存在将会导致有些头文件和定义不会被加入,会屏蔽一些API。主要是为了减小windows头文件的大小

    将宏定义注释掉,重新编译OK

    随机推荐

    Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试 (转)

    环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_ ...

    iOS 检查更新

    注意:苹果官方是不允许app具有检查更新提示! //直接跳转到AppStore - (void)setUpAppUpdate {    [ServerData queryGetURL:@{@&quot ...

    Chrome Restful Api 测试工具 Postman-REST-Client离线安装包下载,Axure RP Extension for Chrome离线版下载

    [Postman for Chrome 离线下载] Postman-REST-Client离线安装包,可直接在Chrome浏览器本地安装使用,可模拟各种http请求,Restful Api测试, CS ...

    JSF 2 checkboxes example

    In JSF, tag is used to render a single HTML input element of &quot ...

    Windows 安装 psutil

    第一步:下载pustil 网址:https://pipy.python.org  (http://yunpan.cn/cJg8aQpYwqfzh (提取码:7fa7)) 第二步:安装这个就没有什么好说 ...

    POJ 2609 Ferry Loading

    双塔DP+输出路径. 由于内存限制,DP只能开滚动数组来记录. 我的写法比较渣,但是POJ能AC,但是ZOJ依旧MLE,更加奇怪的是Uva上无论怎么改都是WA,其他人POJ过的交到Uva也是WA. # ...

    linux socket编程:简易客户端与服务端

    什么是socket? socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来 ...

    python下彻底解决浏览器多窗口打开与切换问题

    # coding=utf-8 from selenium import webdriverimport timebrowser=webdriver.Firefox()#browser.maximize ...

    Install Nginx on CentOS 7

    To set up the yum repository for RHEL/CentOS, create the file named /etc/yum.repos.d/nginx.repo with ...

    牛客网 桂林电子科技大学第三届ACM程序设计竞赛 G.路径-带条件的树的直径变形-边权最大,边数偶数的树上的最长路径-树形dp

    链接:https://ac.nowcoder.com/acm/contest/558/G 来源:牛客网 路径 小猫在研究树. 小猫在研究路径. 给定一棵N个点的树,每条边有边权,请你求出最长的一条路径 ...

    展开全文
  • 这一般是在有继承时,头文件引用错误例如:A.cpp文件 A .h文件#include "A.h"class A{}B.cpp文件 B .h文件...

    这一般是在有继承时,头文件引用错误

    例如:

    A.cpp文件                                                                  A .h文件

    #include  "A.h"

    class A

    {

    }

    B.cpp文件                                                                B .h文件

    #include "B.h"                                                            #include "A.h"

    class B : public A

    {

    }

    C.cpp文件                            C .h文件

    #include "C.h"                                                           #include "A.h" 和#include “B.h”都要声明

    若要在C.cpp中声明                                                                     class C

    类B的一个对象,则需要在C.h中加                                                        {

    #include "A.h"  和#include “B.h”                              }

    展开全文
  • // public abstract class Node : XmlNode { public Node() { } private string _localName = ""; private string _name =... } #endregion } 编译时总提示 "System.Xml.XmlNode" 未定义构造函数, 将 public Node() { }
  • 错误C2504:继承未定义基类,头文件相互包含
  • 头文件:#ifndef_CDIB_H#define_CDIB_HclassCDib:publicCObject{public:RGBQUAD*m_pRGB;BYTE*m_pData,*m_pData2;UINTm_numberOfColors;BOOLm_valid;BITMAPFILEHEADERbitmapFileHeader...头文件:# ifndef _CDIB_H# ...
  • 未定义基类CCScene

    2014-01-24 10:29:03
    错误:未定义基类CCScene 原文代码: #pragma once #include "cocos2d.h" class GameScene :  public CCScene { public:  GameScene(void);  ~GameScene(void); };   解决:public cocos2d::CCScene 为什么要加...
  • #ifndefPEOPLE_H#definePEOPLE_H#include#include#include#includeclassPEOPLE{public:PEOPLE(){}PEOPLE(std::stringN,intA,std::stringid,std:...#ifndef PEOPLE_H#define PEOPLE_H#include #include #include #inc...
  • classperson//1028.h{private:intid;stringname;charsex;intage;public:person(inti,stringn,chars,inta){id=i;name=n;sex=s;age=a;}voidprint(){cout<class person //1028.h{private:int id;...
  • 未定义基类的问题

    千次阅读 2015-01-15 22:14:08
    今天在写代码的时候 发现遇到一个 未定义基类的问题,郁闷了好久,通过查资料发现原来是 在OgreApp1.h的头文件中 include 了自己写的一个控制器类 #include “UnitManager.h”, 而只有UnitManager这个类重载Base...
  • error C2504: “XXXXXXX”: 未定义基类 错误描述: 在a.cpp中包含b.h 在a.h中使用b.h中的类 在c.h中包含a.h时出现上述错误 解决方法: 在c.h中 #include “a.h” 前 #include “b.h”
  • VS error c2504未定义基类

    千次阅读 2016-01-12 18:11:41
    问题描述error c2504未定义基类,编译错误,和#include头文件有关。详细描述(代码引自Cocos2d-x手游开发Mario)Item.h... #include "ItemMushroom.h" class Item:public CCSprite { ... public: static Item* ...
  • 下面的问题,是MS的一个BUG。可以手工修改ShlObj.h文件,在“#include ”后面加一行“#include ”  “IShellExecuteHook”: 未定义基类
  • error C2504: “IDXEffect”: 未定义基类

    千次阅读 2013-05-14 09:44:18
    1>D:\Program Files\Microsoft SDKs\Windows\v6.0A\include\qedit.h(1736) : error C2504: “IDXEffect”: 未定义基类 在引用 qedit.h 头文件的时候,加上这么几句: #pragma include_alias( "dxtrans.h", "qedit...
  • C++ 未定义基类错误解决

    千次阅读 2017-08-23 17:45:59
    这是类超前的错误。即在a.h中包含了b.h,而在b.h中又包含了a.h。
  • error C2504: “CDialog”: 未定义基类

    万次阅读 2013-03-28 19:49:18
    真是邪了门了的事情,在MFC中,手动的增加一个类,加入工程,编译就报... error C2504: “CDialog”: 未定义基类 添加  #include "afx.h"  #include "windows.h"均不行 最后添加了  #include 一
  • errorC2504未定义基类

    2018-03-21 22:39:00
    这一般是在有继承时,头文件引用错误 例如: A.cpp文件 A .h文件 #include "A.h" ...
  • error:C2504:未定义基类

    2021-01-19 19:55:47
    这个报错是:类超前的错误,.h文件之间循环包含。 即:在 a.h中包含了b.h,同时在b.h中包含了a.h
  • 在VS2008的项目属性中,在C/C++ --> 预处理器 --> 预处理器定义 中,把_WIN32_WINNT=0x0500改成_WIN32_WINNT=0x0600 , 然后清除以前编译的东西,再完全重新编译即可。(即重新编译预编译的东西即可) ...
  • 我之前多次遇到过这个错误并最终找到了解决方案,但是这个让我难过。 我有一个由'Player'继承的类'Mob'。 这是Mob.h:#pragma once#include "PlayState.h"#include "OmiGame/OmiGame.h"#include "resources.h"class ...
  • 【背景】 说明:如何打开1处,注释掉3,则会提示4的错误。如果注释掉1,打开3,则正确。总之,在定义函数中将基类的头文件放在 子类前,很简单,但一不小心很容易出错误。
  • 未定义基类问题解决

    千次阅读 2014-12-08 21:53:56
    头文件包括成循环
  • 转载:... 创建win32应用程序的工程文件,删除不需要的代码,只留下空的winmain函数。 编译时提示如下错误: duilib\utils\utils.h(251) : error C2504: “VARIANT”: 未定义基类 duili...
  • 这种情况下,是由于缺少$(EngineRoot)、#include "cocos-ext.h" USING_NS_CC; USING_NS_CC_EXT; 添加即可。 转载于:https://www.cnblogs.com/Anzhongliu/p/6091873.html...
  • error C2504: 未定义基类

    2017-04-09 16:55:00
    在do.h文件中使用该结构体时,只包含了type.h文件,此时报错:未定义基类 解决方法: 在do.h文件中使用文件外定义的结构体时,需要看到定义,不能只是声明。 此类错误在派生类的头文件也经常因为类似原因而...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 235
精华内容 94
关键字:

未定义基类