1

私はたくさんの「行方不明」を調べました。'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」のいずれにも含まれていないことを確認しました。また、これらのクラスのいずれにもセミコロンがどこにもありません。

どんな助けでも素晴らしいでしょう。

ありがとう。

4

2 に答える 2

7

Animationstruct名前であり、関数名として使用することはできません。名前を変更するだけです:

  Animation* someOtherNameForGettingAnimation(int pIndex);
于 2012-07-18T15:50:46.623 に答える
-3

これは単に私が非常に愚かである場合です。

事前定義した実際のタイプと同じインターフェイス名で関数を定義すると、問題が発生します。

この行:

Animation*      Animation           (int pIndex);

私は明らかに、間違って、この関数を「アニメーション」と呼んでいます。それ以来、この関数に名前を付けた問題を解決するために、次のように名前を付けました。

Animation*      GetAnimation            (int pIndex);

時間を無駄にしてすみません。

于 2012-07-18T15:55:24.103 に答える