help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Template Class ??


From: ArbolOne
Subject: Template Class ??
Date: Fri, 28 Sep 2012 21:19:54 -0700 (PDT)
User-agent: G2/1.0

namespace jme {
template <class T> class Data {
private:
    T data;
    int id;
public:
    Data();
    Data(T, const int);
    virtual ~Data();
    Data(const Data& other);
    Data& operator=(const Data& other);
    const int getId();
    const T& getData() {
        return data;
    }
};

template <class T>
jme::Data<T>::Data() {}

template <class T>
jme::Data<T>::Data(T _data, const int _id) {
    this->data = _data;
    this->id = _id;
}
template <class T>
jme::Data<T>::~Data() {}

template <class T>
jme::Data<T>::Data(const Data& other) {
    //copy ctor
}
template <class T>
jme::Data<T>&
jme::Data<T>::operator=(const Data& rhs) {
    //if (this == &rhs) return *this; // handle self assignment
    //assignment operator
    this->T = rhs.T;
    //this->id = rhs.id;
    return *this;
}
template <class T>
const int jme::Data<T>::getId() {
    return id;
}
---
int main(){
    jme::Data d;
    std::cout << "Hello world!" << std::endl;
    return 0;
}

The above program gives me this error message:

-------------- Build: Debug in data ---------------

Linking console executable: bin\Debug\list.exe
obj\Debug\main.o: In function `main':
C:/.../main.cpp:8: undefined reference to `jme::Data<std::string>::Data()'

C:/.../main.cpp:10: undefined reference to `jme::Data<std::string>::~Data()'

C:/.../main.cpp:10: undefined reference to `jme::Data<std::string>::~Data()'

collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
3 errors, 0 warnings
 


What am I doing wrong?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]