Error: class template has already been defined(错误:类模板已经定义)
                            本文介绍了错误:类模板已经定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
                        
                        问题描述
我有这个小模板类:
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;
    };
};
编译时出现这个错误:
类模板已经定义.
我做错了什么?
推荐答案
这是由于多次包含相同的头文件(其中包含此模板类)造成的.这通常在 C++ 中通过使用守卫来解决:
This is caused by multiply including the same header file (which contains this template class). This is typically solved in C++ by either using guards:
#ifndef EMPLE_H
#define EMPLE_H
// your template class
#endif
 或 #pragma onces(我知道的每个编译器都支持)并且不那么混乱:
or #pragma onces (which are supported by every compiler I know) and are less cluttering:
#pragma once
// your template class
                        这篇关于错误:类模板已经定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
				 沃梦达教程
				
			本文标题为:错误:类模板已经定义
				
        
 
            
        
             猜你喜欢
        
	     - C++ 协变模板 2021-01-01
 - 从python回调到c++的选项 2022-11-16
 - 近似搜索的工作原理 2021-01-01
 - 如何对自定义类的向量使用std::find()? 2022-11-07
 - 静态初始化顺序失败 2022-01-01
 - 与 int by int 相比,为什么执行 float by float 矩阵乘法更快? 2021-01-01
 - 使用/clr 时出现 LNK2022 错误 2022-01-01
 - STL 中有 dereference_iterator 吗? 2022-01-01
 - 一起使用 MPI 和 OpenCV 时出现分段错误 2022-01-01
 - Stroustrup 的 Simple_window.h 2022-01-01
 
						
						
						
						
						
				
				
				
				