Salve sono uno studente,sto incominciando ora a usare i template per le classi in c++
ho creato un piccolo programmino che non deve far altro che restituirmi il massimo tra 2 valori.
ho un solo errore,nel momento in cui chiamo il metodo della classe per confrontare i due numeri,mi da undefined reference to (nomeclasse)mypair<int>::getmax()(nome metodo),
su google ho letto che significa che la libreria non è linkata,ma è impossibile dato che l'oggetto di tipo mypair( nome della mia classe ) lo crea senza problemi.
io non riesco a capire dove sta l'errore,uso codeblock ,se vi e possibile controllarlo includo il piccolo codice cosi si dovrebbe capire,grazie in anticipo della pazienza
questo è il .h
#include <iostream>
#ifndef MYPAIR_H
#define MYPAIR_H
template <class T>
class mypair {
T a, b;
public:
mypair (T first, T second)
{a=first; b=second;}
T getmax ();
};
#endif
questo è il .cpp
#include "mypair.h"
template <class T>
T mypair<T>::getmax ()
{
T retval;
if (a>b)retval=a;
else retval=b;
return retval;
}
e il minuscolo main
#include "mypair.h"
using namespace std;
int main () {
mypair <int> myobject (100, 75);
cout << myobject.getmax(); //l'errore è segnalato qui
return 0;
}