I'm trying to initialize one object into other object using copy constructor. I'm puzzled that if I comment out copy constructor it initializes fine but with following code it does not.
class TDateTime : public TData {
public:
  TDateTime() : TData(EDataStateInvalid) {}
  TDateTime(const tm& aTm){};
  TDateTime(int aTm_sec, int aTm_min, int aTm_hour,
  int aTm_mday, int aTm_mon, int aTm_year, int aTm_wday,int aTm_isdst){
      value.tm_sec=aTm_sec;
      value.tm_min=aTm_min;
      value.tm_hour=aTm_hour;
      value.tm_mday=aTm_mday;
      value.tm_mon=aTm_mon;
      value.tm_year=aTm_year;
      value.tm_wday=aTm_wday;
      value.tm_isdst=aTm_isdst; 
  };
  virtual ~TDateTime() {cout<<"Destroying TDateTime ";};
  //! Copy constructor
  TDateTime(const TDateTime& aInstance){};
  //! Copies an instance
  virtual const TDateTime& operator=(const TDateTime& aInstance){return   *this;};
  private:
  tm value;
};
main.cpp
tm=createDateTime(x);
TDateTime     aDateTimeFrom(tm.tm_sec,tm.tm_min,tm.tm_hour,tm.tm_mday,tm.tm_mon,tm.tm_year,tm. tm_wday,0);  
TDateTime aDateTimeTo(aDateTimeFrom);
if I comment out the copy constructor it copies fine. If I remove {} then compiler complains about undefined symbol.
Can you suggest what is wrong here? Based on answer about empty copy constructor does nothing, I comment it out and copy is perfect but I have another problem. If I do
TDateTime aDateTime;
aDateTime=aDateTimeFrom;
aDateTime has all junk values. Any pointers on this?
 
     
     
    