错误:类模板已经被定义(Error: class template has already been

2019-06-23 15:50发布

我有这个小模板类:

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

编译当我得到这个错误:

类模板已被定义。

我究竟做错了什么?

Answer 1:

这是通过乘法包括相同的头文件(包含该模板类)引起的。 这通常是通过使用任一警卫解决在C ++:

#ifndef EMPLE_H
#define EMPLE_H

// your template class

#endif

#pragma once S(这是由每个编译我知道支持),而且不太杂乱:

#pragma once

// your template class


文章来源: Error: class template has already been defined