PDA

Visualizza la versione completa : [C++] Problema con i template


cliges
29-10-2003, 00:23
Ho un problema nella compilazione di un programma in C++ in cui utilizzo i template (...o almeno credo che il problema sia dovuto a questo). Io utilizzo Visual Studio 6

Parte del codice č il seguente (diviso su tre file Matrix.h, Matrix.cpp, main.cpp):

/* Matrix.h */
#include <iostream.h>
#include "Vector.h"

template <class T>
class TMatrix {
private:
T **elems;
size_t rows, cols;

public:
TMatrix ();
TMatrix (size_t r, size_t c);
.....
.....
}


/* Matrix.cpp */
#include <iostream.h>
#include "Vector.h"

template <class T>
TMatrix<T>::TMatrix () {
rows = cols = 0;
elems = NULL;
};

template <class T>
TMatrix<T>::TMatrix (size_t r, size_t c) {
cols = c;
elems = new T*[rows = r];
for (r = 0; r < rows; r++)
elems[r] = new T[cols];
};

......
......


/* main.cpp */
#include <iostream.h>
#include "Matrix.h"

void main() {
size_t rows = 5, cols = 5;
TMatrix<double> A(rows, cols);

}


Nel main faccio una semplice chiamata al costruttore di TMatrix.
Quando lo compilo mi viene restituito il seguente errore:

main.obj : error LNK2001: unresolved external symbol "public: __thiscall TMatrix<double>::TMatrix<double>(unsigned int,unsigned int)" (??0?$TMatrix@N@@QAE@II@Z)
Debug/ProvaMatrix.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Non riesco a trovare il problema.
Qualcuno puņ darmi un consiglio?
Grazie.

cliges
29-10-2003, 11:05
Nessuno a qualche suggerimento?

Sviluppo
29-10-2003, 14:23
Nel tuo codice ci sono un po' di errori,
se me lo posti a sviluppo@unlockGate.net
gli do una sistemata e te lo rimando.
Ciao.

cliges
29-10-2003, 15:33
OK, te lo mando.

Loading