greska je:
class.h: In function `void __static_initialization_and_destruction_0(int, int)':
class.h:15: no matching function for call to `klasa<long int>::klasa ()'
class.h:11: candidates are: klasa<long int>::klasa(long int)
class.h:13: klasa<long int>::klasa(const klasa<long int> &)
---[ makefile ] ------
test: main.o class.o
g++ -o test main.o class.o
main.o: main.cc class.h
g++ -c -o main.o main.cc
class.o: class.cc class.h
g++ -c -o class.o class.cc
---[ class.h ] -------
#ifndef class_h
#define class_h
extern "C++" {
template <class T>
class klasa {
private:
T a;
public:
klasa( T i );
void write();
};
klasa <long int> t;
#endif
}
---[ class.cc ]-----
#include <iostream>
#include "class.h"
extern "C++" {
template <class T>
klasa <T> ::klasa( T i ) {
a=i;
}
template <class T>
void klasa <T> ::write() {
cout << a << endl;
}
}
---[ main.cc ]--------
#include <iostream>
#include "class.h"
main() {
klasa <long int> a (15);
a.write();
}
------------------------
sto se tice prevoda sve je uredu, problem je sa linkovanjem :(
pozdrav, Igor
Igor Jeremic
www.jwork.net
www.jwork.net