2013-10-11 136 views
0

所以,現在我只是想設置一個簡單的類,並不能找出爲什麼我得到錯誤。這裏是我的頭文件:錯誤:預計標識符

#define Mob 

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

,並用它

#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; 
} 

回答

8

您定義Mob到...沒有cpp文件。這使你的代碼等同於:

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

而且適用於其中包括#define Mob代碼的其餘部分。

如果你試圖讓包括警衛,你需要一個唯一的名稱和conditionaly定義它:

#ifndef UNIQUE_MOB 
#define UNIQUE_MOB 
// code 
#endif 
+0

足夠關閉反正。 –

14

這條線:

#define Mob 

使字Mob的每個實例是在你的代碼中沒有被替換。不要這樣做。

它看起來像你想使一個include guard,這應該是這個樣子:

#ifndef MOB_H 
#define MOB_H 


    ... 

#endif