U jednom heder-u sam definisao template class-u:
//file: Matrix.h
template<class T>
class Matrix {
public:
Matrix (int m, int n); //matrica m x n
Matrix (const Matrix<T>&);
~Matrix ();
// i tako dalje....(sledi deklaracija f-ja)
Udrugom fajlu je definicija gore deklarisanih f-ja.
U trecem fajlu sam hteo da vidim kako to sve funkcionise i u main() funkciji sam stavio:
#include "Matrix.h"
int main(){
Matrix<int> mat(3,3);
}
Compailer ne prijavljuje gresku ali linker izbacuje sledecu gresku:
d:\dev-c++\sinisa\matrix\matmain.o: In function `_tf8_IO_FILE':
//d/dev-c++/sinisa/matrix/matmain.cpp:6: undefined reference to `Matrix<int>::Matrix(int, int)'
//d/dev-c++/sinisa/matrix/matmain.cpp:6: undefined reference to `Matrix<int>::~Matrix(void)'
//d/dev-c++/sinisa/matrix/matmain.cpp:6: undefined reference to `Matrix<int>::~Matrix(void)'
U cemu je problem??
Pozdrav.
PS: primer je po knjizi D. Milicev