我看了很多“失踪”;'在“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”中。这些类别中的任何一个都没有在任何地方错过分号。
任何帮助都会很棒。
感谢。
答案 0 :(得分:7)
Animation
是struct
名称,不能用作函数名称。只需重命名:
Animation* someOtherNameForGettingAnimation(int pIndex);
答案 1 :(得分:-3)
这只是我非常愚蠢的一个例子。
问题在于我定义了一个与我预定义的实际类型具有相同接口名称的函数。
这一行:
Animation* Animation (int pIndex);
我清楚地,错误地称这个函数为“动画”,并解决了我以后命名的问题:
Animation* GetAnimation (int pIndex);
抱歉浪费任何人的时间。