C++ 下面是我的.h文件中的一些错误,当我在其中包含类模板时,该文件显示[error]unterminated#ifndef

C++ 下面是我的.h文件中的一些错误,当我在其中包含类模板时,该文件显示[error]unterminated#ifndef,c++,class,templates,inheritance,constructor,C++,Class,Templates,Inheritance,Constructor,头文件 #ifndef WIKI_H #define WIKI_H template<class T> class Rectangle { private: T length; T breadth; void printarea(); public: Rectangle(); }; #include "Wiki.h" #include <iostream> u

头文件

#ifndef WIKI_H
#define WIKI_H

template<class T>

class Rectangle
{

    private:

        T length;
        T breadth;

        void printarea();

        public:

            Rectangle();
};
#include "Wiki.h"
#include <iostream>

using namespace std;

void Rectangle::printarea()
{

    cout<< "Area = " << length*breadth <<endl; 
}

Rectangle::Rectangle()
{

    cout<< "Enter Length" <<endl;
    cin>> lenght;
    cout<< "Enter Breadth" <<endl;
    cin>> breadth;

    printarea();
} 
#include <iostream>
#include "Wiki.h"

using namespace std;

int main()
{

    Rectangle<int>X;

    return 0;
}
\ifndef WIKI\u H
#定义WIKI_H
模板
类矩形
{
私人:
T长度;
T宽度;
无效打印区域();
公众:
矩形();
};
源文件

#ifndef WIKI_H
#define WIKI_H

template<class T>

class Rectangle
{

    private:

        T length;
        T breadth;

        void printarea();

        public:

            Rectangle();
};
#include "Wiki.h"
#include <iostream>

using namespace std;

void Rectangle::printarea()
{

    cout<< "Area = " << length*breadth <<endl; 
}

Rectangle::Rectangle()
{

    cout<< "Enter Length" <<endl;
    cin>> lenght;
    cout<< "Enter Breadth" <<endl;
    cin>> breadth;

    printarea();
} 
#include <iostream>
#include "Wiki.h"

using namespace std;

int main()
{

    Rectangle<int>X;

    return 0;
}
#包括“Wiki.h”
#包括
使用名称空间std;
空心矩形::打印区域()
{

您需要在头文件的末尾添加一个
#endif

您缺少了一个
#endif
还有
length
=>
length
在我更正了头文件和源文件中的错误后,编译器仍然显示错误-对`Rectangle::Rectangle()的未定义引用“@Utsav对于任何想到‘我有一个#endif但这个错误仍然在显示’的人来说,它也可能是由循环include语句引起的。