Заголовочный файл
#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;
}
Также stackoverflow.com/questions/495021/…
lenght => length




Вам нужно добавить #endif в конец файла заголовка.
После того, как я исправил ошибку в моем заголовке и исходном файле, компилятор по-прежнему показывает ошибку - неопределенная ссылка на `Rectangle <int> :: Rectangle () '
@Utsav stackoverflow.com/questions/495021/…
Для тех, кто приезжает сюда и думает: «У меня есть #endif, но эта ошибка все еще отображается», это также может быть вызвано циклическими операторами включения.
вам не хватает
#endif