Так что прямо сейчас я просто пытаюсь создать простой класс и не могу понять, почему я получаю ошибку en. Вот мой заголовочный файл:
#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
Эта строка:
#define Mob
Заставляет каждый экземпляр слова Mob
заменяться ничем в вашем коде. Не делай этого.
Похоже, вы хотели включить защитника, который должен выглядеть примерно так:
#ifndef MOB_H
#define MOB_H
...
#endif