我想弄清楚我收到错误:{token
之前的预期类名以下是错误的相对来源:
#pragma once
#ifndef H_FXACTION
#define H_FXACTION
#include "CP_M_RefCounted.h"
#include "FxTypes.h"
#include "string"
#include "FxString.h"
#include "FxPixels.h"
#include "CP_Rect.h"
#include "FxStreamable.h"
#include "FxPoint.h"
#include "FxPtr.h"
#include "FxImage.h"
#include "FxSleekStreaming.h"
typedef FxID FxActionType;
typedef FxUInt32 FxActionID;
FxActionID FrMakeUniqueActionID(void);
class FxActionData;
class FxActionData : public CP_M_RefCounted
{
public:
FxActionData();
FxActionData(FxBool final) :mFinal(final) { }
virtual ~FxActionData();
我在此行收到错误:class FxActionData:public CP_M_RefCounted
我没有得到的是为什么行:class FxActionData;当你直接在它下创建类时,它是否存在这不是一个前瞻性声明吗?
这里可能会发生什么事情?
答案 0 :(得分:3)
class FxActionData;
是*前向声明。它不会伤害任何东西,但允许不拖动一个完整的头文件,比如说只是指向一个类的指针。在这里你的情况没用。
CP_M_RefCounted
可能是模板(或者可能在命名空间中声明)。查看CP_M_RefCounted.h