私は次の構造を持っています:
template <class T>
struct Array{
int lenght;
T * M;
Array( int size ) : lenght(size), M(new T[size])
{
}
~Array()
{
delete[] M;
}
};
そしてクラス(構造を満たすオブジェクトの):
class Student{
private:
int ID;
int group;
char name[];
public:
Student();
~Student();
void setStudent(int,int,char){
}
char getName(){
return *name;
}
void getGroup(){
}
void getID(){
}
};
ここで、配列型を初期化したい場合、Main.cpp で次のようになります。
#include <iostream>
#include "Domain.h"
#include "Student.h"
//#include ""
using namespace std;
int main(){
cout<<"start:"<<endl<<endl;
Array <Student> DB(50);
Array <Student> BU(50);
return 0;
}
エラー:
g++ -o Lab6-8.exe UI.o Repository.o Main.o Domain.o Controller.o
Main.o: In function `Array':
D:\c++\Begin\Lab6-8\Debug/..//Domain.h:16: undefined reference to `Student::Student()'
D:\c++\Begin\Lab6-8\Debug/..//Domain.h:16: undefined reference to `Student::~Student()'
Main.o: In function `~Array':
D:\c++\Begin\Lab6-8\Debug/..//Domain.h:21: undefined reference to `Student::~Student()'
理由はありますか?