При работе над шаблоном класса я где-то допустил ошибку.
Работаю я на С++Builder 6.0.
Ткже установлен Microsoft Visual C++ 6.0
Под системой Windows98 osr/2.
Установлен Microsoft Office 2000.
Service Pack-ов не ставил.
Вот примерный код, который я набрал чтобы
проверить где у меня возникла ошибка, но она всё равно возникла:
Ошибка :
"[Linker Error]Unresolved 'Cefr<float>::ger()' referenced from C:\Nuk\main.obj"
файл Cerf.h:
template<class T>
class Cefr{
public :
void ger();
};
Файл Cerf.cpp:
template<class T>
void Cefr<T>::ger(){
int f;
f=15;
}
Файл Main.cpp:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Cefr.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Cefr<float> *dert = new Cefr<float>;
dert->ger();
}
Ошибка возникает тогда, когда добавляешь вот эту
строчку :
dert->ger();
Если её не добавлять, то всё скомпилится нормально.
Сам шаблон класса компилируется нормально.
Ошибка возникает при вызове любой процедуры или функции этого класса.
То есть, у меня получилось содать класс, а вот воспользоваться я им не могу.
Пожалуйста, укажите что мне сделать, чтобы её убрать.
Помогите как можно быстрее.
вставлена подсветка синтаксиса. _MM_