失踪 ';'在'*'之前

时间:2012-07-18 15:49:10

标签: c++

我看了很多“失踪”;'在“x”之前的问题,但没有找到这个特定问题的答案。

// ---- Define File ----

#ifndef AnimDefinition_h
#define AnimDefinition_h

// ---- Include ----

#include "AString.h"
#include "FileReader.h"

// ---- Global Constant Variables ----

static const int    MaxAnimations   = 16;
static const int    Blank           = 10;
static const int    EndOfLine       = 59;
static const int    Space           = 32;

// ----------------------------------------------------------------
//                      Sprite Animation Definition                     
// ----------------------------------------------------------------
class AnimDefinition
{
private:

    struct Animation
    {
        AString     mAnimationID;
        AString     mLoopTo;
        int         mFrameBegin;
        int         mFrameEnd;
    };

public:

                    AnimDefinition          (void);
                    AnimDefinition          (const char *pFileName);
                    ~AnimDefinition         (void);

    void            ReadFile                ();

    Animation*      Animation               (int pIndex);
    Animation*      Animation               (const char *pFileName);   // The first incident of this error occurs here

private:

    const char      *Scan                   (char *pSource, int &pCounter);

private:

    AString         mDefinitionID;
    FileReader      mFileReader;
    Animation       *mAnimations[MaxAnimations];

    int             mNumberAnimations;
};

// ---- End Definition ----

#endif  //  AnimDefinition_h

如上所述,我遇到错误的第一行是函数的定义

Animation*      Animation               (const char *pFileName);

我已确认AnimDefinition未包含在“AString.h”或“FileReader.h”中。这些类别中的任何一个都没有在任何地方错过分号。

任何帮助都会很棒。

感谢。

2 个答案:

答案 0 :(得分:7)

Animationstruct名称,不能用作函数名称。只需重命名:

  Animation* someOtherNameForGettingAnimation(int pIndex);

答案 1 :(得分:-3)

这只是我非常愚蠢的一个例子。

问题在于我定义了一个与我预定义的实际类型具有相同接口名称的函数。

这一行:

Animation*      Animation           (int pIndex);

我清楚地,错误地称这个函数为“动画”,并解决了我以后命名的问题:

Animation*      GetAnimation            (int pIndex);

抱歉浪费任何人的时间。