2017-04-05 69 views
0

我在一個Pacman遊戲項目(迷宮,食物,吃豆子,...)中有多個C++類。我創建了一個名爲'Pacman_AI'的命名空間,以便可以在項目中的每個地方看到類。但是,我得到了'GameObject'類的錯誤:「名稱後跟'::'必須是類或名稱空間名稱」。一個項目中的C++全局命名空間

這裏是我的「GameObject.cpp」中,我得到上述錯誤:

namespace Pacman_AI{ 

vector <pair <int, int> > GameObject::getPoints(){ 
    return points; 
} 

string GameObject::getType(){ 
    return type; 
} 

} 

我已經定義我的「遊戲對象」類在不同的文件「GameObject.h」。

非常感謝您的幫助。

+1

你的地方包括:宣佈'GameObject' –

+0

頭文件namespace請** [你的問題] [mcve]或[SSCCE(Short,Self Contained,Correct Example)](http://sscce.org) – NathanOliver

+0

不,你能解釋爲什麼我應該包含頭文件嗎?我已經有一個全局命名空間。 –

回答

0

最簡單的就是用你的頭文件

// Foo.h 
namespace Pacman_AI{ 

// STUFF HERE 

}; 

,然後using namespace在您的.cpp文件

//Foo.cpp 
#include "Foo.h" 

using namespace Pacman_AI; 

// define your functions here 
+0

但是我可以從「Foo.h」中刪除我的名稱空間,它的功能與您的相同。 –

+0

我使用了命名空間,以便我可以從這些「包含」中轉義出來。你知道像C#命名空間。 –

+1

@MahmoudArafa你不能'逃避'包括......你爲什麼會試圖這樣做呢? – AlexG