所以现在我只是想建立一个简单的类,而无法弄清楚为什么我会出错。这是我的头文件:

#define Mob

class Mob{
private:
    int lvl;
    float hp;
public:
    Mob(int, float); //Error expected an identifier on the float
};


和带有它的cpp文件

#include "Mob.h"

Mob::Mob(int level, float health) // Error expected an identifier on the int and float
// and an Error: Expected a ; after the )
{
    hp = health;
    lvl = level;
}

最佳答案

您将Mob定义为...什么都没有。这使您的代码等效于:

class {
private:
    int lvl;
    float hp;
public:
    (int, float); // Expecting an identifier indeed
};


并且在包含#define Mob的其余代码中也适用。

如果您要设置包含防护,则需要一个唯一的名称并有条件地定义它:

#ifndef UNIQUE_MOB
#define UNIQUE_MOB
// code
#endif

关于c++ - 错误:预期标识符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19323195/

10-11 01:10