const类LHContactInfo'尝试访问该属性时出错

forward declaration of 'const class LHContactInfo' error when try to access it property

本文关键字:访问 属性 出错 LHContactInfo const      更新时间:2023-10-16

下面我有两个c++类。我想从lhscenessubclass中获取LHContactInfo属性,但我什么也得不到。那么我该怎么做呢?

#ifndef __LEVELHELPER_API_CONTACT_INFO_H__
#define __LEVELHELPER_API_CONTACT_INFO_H__
#include "LHConfig.h"
#if LH_USE_BOX2D
#include "cocos2d.h"
class b2Contact;
using namespace cocos2d;
class LHContactInfo
{
public:
    
    LHContactInfo();
    virtual ~LHContactInfo();
    
    Node*       nodeA;
    Node*       nodeB;
    std::string nodeAShapeName;
    std::string nodeBShapeName;
    int         nodeAShapeID;
    int         nodeBShapeID;
    
    Point       contactPoint;
    float       impulse;
    
    b2Contact*  box2dContact;
};
#endif
#endif //__LEVELHELPER_API_CONTACT_INFO_H__
#include "LHContactInfo.h"
#if LH_USE_BOX2D
#include "Box2d/Box2d.h"
LHContactInfo::LHContactInfo(){
    nodeA = NULL;
    nodeB = NULL;
    box2dContact = NULL;
}
LHContactInfo::~LHContactInfo(){
    nodeA = NULL;
    nodeB = NULL;
    box2dContact = NULL;
}
#endif

#ifndef __LH_SCENE_SUBCLASS_H__
#define __LH_SCENE_SUBCLASS_H__
#include "cocos2d.h"
#include "LevelHelper2API.h"
class LHContactInfo;
class LHSceneSubclass : public LHScene
{
public:
    static cocos2d::Scene* createScene();
    LHSceneSubclass();
    virtual ~LHSceneSubclass();
    
    bool initWithContentOfFile(const std::string& plistLevelFile);
    virtual bool shouldDisableContactBetweenNodes(Node* nodeA, Node* nodeB);
    virtual void didBeginContact(const LHContactInfo& contact);
    virtual void didEndContact(const LHContactInfo& contact);
};
#endif // __LH_SCENE_SUBCLASS_H__
//file.cpp
void LHSceneSubclass::didBeginContact(const LHContactInfo& contact){
	if(contact.nodeA->getName() == "box1"){// error invalid use of incomplete type 'const class 
 LHContactInfo'
	}
}
void LHSceneSubclass::didEndContact(const LHContactInfo& contact){
    CCLOG("DIDENDCONTACT...n");
}

我想做喜欢的接触。nodeA从LHContactInfo在didBeginContact函数,但编译错误->错误无效使用不完整类型'const类LHContactInfo'

注意::-编译android NDK 10c

由于您的前向声明,类LHContactInfo仅被声明(即通过名称知道)。然而,编译器需要类定义。您需要包含包含类定义的文件。