C++关于运算符重载的程序报错error LNK2019,该如何解决

C++关于运算符重载的程序报错error LNK2019
错误信息如下:
1>t2.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Date::Date(void)" (??0Date@@QAE@XZ),该符号在函数 "class Date __cdecl operator+(class Date const &,class Date const &)" (??H@YA?AVDate@@ABV0@0@Z) 中被引用
1>C:\Users\Chengyao\Documents\Workspaces\Visual Studio 2012\Projects\Test11\Debug\Test12.exe : fatal error LNK1120: 1 个无法解析的外部命令

代码如下:
#include<iostream>
using namespace std;
class Date{
int m_y;
int m_m;
int m_d;
public:
Date();
Date(int y,int m,int d){
m_y=y;
m_m=m;
m_d=d;
}
public:
void set(int y,int m,int d){
m_y=y;
m_m=m;
m_d=d;
}
friend Date operator+(const Date& d1,const Date& d2){
Date d;
d.set(d1.m_y+d2.m_y,d1.m_m+d2.m_m,d1.m_d+d2.m_d);
return d;
}
void display(){
cout<<"The date is:"<<m_y<<","<<m_m<<","<<m_d<<endl;
}
};
int main(){
Date d1(2009,11,10);
d1.display();
Date d2(1,1,1);
d2.display();
(d1+d2).display();
}

------解决方案--------------------
lz你的默认构造函数没有定义

Date()
{
};//改成这样