2012-04-14 4 views
2

I持ってこの小さなテンプレートクラス:エラー:クラステンプレートがすでに定義されている

namespace emple { 
    template <class LinkedClass> 
    class LinkedInList 
    { 
    public: 
     LinkedInList() 
     { 
      active = false; 
     } 
     ~LinkedInList(){} 
     LinkedClass* getNext() const 
     { 
      return next; 
     } 
     void setNext(LinkedClass* const next_) 
     { 
      next = next_; 
     } 
     void setActive(bool state) 
     { 
      active = state; 
     } 
     bool isActive() 
     { 
      return active; 
     } 
    private: 
     LinkedClass* next; 
     bool active; 
    }; 
}; 

私はこのエラーを取得するコンパイル:

class template has already been defined.

私が間違っているのは何を?

+2

:これは通常、いずれかを使用して警備員によりC++で解決されています(私が知っているすべてのコンパイラでサポートされている)

#ifndef EMPLE_H #define EMPLE_H // your template class #endif 

または#pragma once秒未満の乱雑されています。 *ガード*(または#pragma once's)をヘッダーに追加することを忘れていましたか? – bitmask

+0

ああ、多分私はそれを試してみます –

+0

プラグマはかつて助けた。質問は閉じた) –

答えて

13

これは、(このテンプレートクラスを含む)同じヘッダーファイルを含むmultiplyによって引き起こされます。あなたのスニペットは正常に見える

#pragma once 

// your template class 
関連する問題