/* ## main.cpp ## */
#include <iostream>
#include "InsertionSorter.h"
int main()
{
int a[] = {5,7,1,3,6};
InsertionSorter<int> s(a,5);
return 0;
}
unresolved external symbol "public: __thiscall
Код:
Код:
/* ## InsertionSorter.h ## */
template <class T>
class InsertionSorter
{
public:
InsertionSorter(T*, int);
protected:
T *array;
int len;
};
template <class T>
class InsertionSorter
{
public:
InsertionSorter(T*, int);
protected:
T *array;
int len;
};
Код:
/* InsertionSorter.cpp */
#include <iostream.h>
#include "InsertionSorter.h"
template <class T>
InsertionSorter<T>::InsertionSorter(T *array, int len)
{
this->len = len;
this->array = new T[this->len];
for(int i = 0; i < this->len; i++)
this->array = array;
}
#include <iostream.h>
#include "InsertionSorter.h"
template <class T>
InsertionSorter<T>::InsertionSorter(T *array, int len)
{
this->len = len;
this->array = new T[this->len];
for(int i = 0; i < this->len; i++)
this->array = array;
}
при компиляции выдаёт следушее
Код:
Compiling...
main.cpp
Linking...
main.obj : error LNK2001: unresolved external symbol "public: __thiscall InsertionSorter<int>::InsertionSorter<int>(int *,int)" (??0?$InsertionSorter@H@@QAE@PAHH@Z)
Debug/lab7a.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
lab7a.exe - 2 error(s), 0 warning(s)
main.cpp
Linking...
main.obj : error LNK2001: unresolved external symbol "public: __thiscall InsertionSorter<int>::InsertionSorter<int>(int *,int)" (??0?$InsertionSorter@H@@QAE@PAHH@Z)
Debug/lab7a.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
lab7a.exe - 2 error(s), 0 warning(s)
Компилю в Visual C++ 6.0 в чем проблема, помогите плз
Реализацию шаблонных классов надо делать в том же файле с описанием. Прямо внутри описания класса можешь писать реализацию методов.
Заработала, спосибо, я про это забыл :)