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语句引起的。