2011-11-16 8 views
0

これはおそらく本当に簡単なことですが、私はばかだと思っています。std :: stringを渡す際のエラー参照

私は(gccを、Linuxでは、64ビット)をコンパイルしようと、この:

namespace GUI { 

class Manager 
{ 
... 
    private: 
     bool AddElement(const std::string&, Element*); 

     /// Friend functions 
     friend void Element::AddToManager(const std::string&); 
}; 

class Element 
{ 
... 
    private: 
     void AddToManager(const std::string&); 
     Manager* mGuiManager; 
... 
} 

void Element::AddToManager(const std::string& rName) 
{ 
    mGuiManager->AddElement(rName, this); // Error on this line 
} 

} 

私はエラーを取得する:

undefined reference to `GUI::Manager::AddElement(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, GUI::Element*)' 

私はこれを解決するために開始する必要がどこに?

+0

あなたはAddElementを** GUI ** namespaceに定義しましたか? –

+0

私がやったことはすべてGUI名前空間にあります。私はオフチャンスのポストにそれに関連するクルークがあります。 – Nate

+0

'AddElement'の定義を含めるように気をつけますか? –

答えて

-1

あなたのエレメントクラスに次の宣言を追加する必要があります。

friend class Manager; 
0

私はエラーでSTLビットに気を取られて、私は実際の関数をコメントアウトしていたのを忘れました。

関連する問題