Ожидаемое имя класса перед {токеном - PullRequest
0 голосов
/ 05 апреля 2010

Я пытаюсь выяснить, почему я получаю сообщение об ошибке: ожидаемое имя класса до {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();

Я получаю сообщение об ошибке в этой строке: класс FxActionData: public CP_M_RefCounting

Что я не понимаю, так это почему строка: class FxActionData; есть, когда вы создаете класс прямо под ним. Разве это не предварительная декларация?

Что здесь может происходить?

1 Ответ

3 голосов
/ 05 апреля 2010

class FxActionData; является * предварительной декларацией. Ничего не мешает, но позволяет не перетаскивать полный заголовочный файл, скажем, просто на указатель на класс. Это бесполезно в вашем случае здесь.

CP_M_RefCounted - это, вероятно, шаблон (или может быть объявлен в пространстве имен). Посмотрите, что в CP_M_RefCounted.h

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...