Шаблон класса C ++ неопределенная ссылка на функцию [дубликат]

На этот вопрос уже есть ответ здесь:

неопределенная ссылка на функцию шаблона [дубликат] 2 ответа

Я продолжаю получать неопределенную ссылку, когда я вызываю две функции из моего шаблона класса «добавить» и «больше» в моей основной функции.

Итак, у меня есть: number.h

#ifndef NUMBER_H
#define NUMBER_H

template <class T>
class number {
public:
    T x;
    T y;

    number (int a, int b){
        x=a; y=b;}
    int add (T&);
    T greater ();
};

#endif

number.cpp

#include "number.h"

template <class T>
int number<T>::add (T& rezAdd){
    rezAdd = x+y;
    return 1;
}

template <class T>
T number<T>::greater (){
        return x>y? x : y;
}

И мой основной файл: resolver.cpp

#include <stdio.h>
#include <stdlib.h>
#include "number.h"

int main (int argc, char **argv) {
    int aux;
    number<int> c(3,5);

    c.add(aux);
    printf ("number added [%d]\n", c.add(aux));
    printf ("greater number: [%d]\n", c.greater());

    return 0;
}

Ошибки, которые я продолжаю получать:

g++ -Wall -o tema1 resolver.cpp number.cpp
/tmp/ccX483J4.o: In function `main':
resolver.cpp:(.text+0x34): undefined reference to `number<int>::add(int&)'
resolver.cpp:(.text+0x47): undefined reference to `number<int>::add(int&)'
resolver.cpp:(.text+0x64): undefined reference to `number<int>::greater()'
collect2: ld returned 1 exit status
make: *** [all] Error 1

Спасибо за помощь в продвижении!

Ответы на вопрос(3)

Ваш ответ на вопрос