ifstream under NT

From: Anton Fokin (dr_mamadu@mail.ru)
Date: Wed Dec 01 1999 - 15:35:47 MET


Hi rooters,
I have just faced a problem, which is a kind of well known (from roottalk refs.) but it is still an enigma for me. The following works just fine under sun solaris but crashes under NT with diagnostics:

Fatal in <operator delete>: storage area overwritten
aborting
Warning in <TWinNTSystem::StackTrace>: this method must be overridden!

void
TFileDataSource::Update()
{
  if (!fIsUpdated) {
    printf("Loadnig data ...\n");
    ifstream ifs(fFileName.Data());
    Int_t    date;
    Float_t  price;
    while (!ifs.eof()) {
      ifs >> date >> price;
      fAsset->AddPriceData(TDate(date,"yymmdd"),price);
    }
    ifs.close();
    fIsUpdated = kTRUE;     
  } 
}

The problem is solved if I change ifstream to ifstream* ifs = new ifstream("");
but I am curious what's all that is about. I could not find a final explanation in the roottalk and the latest ref on this topic is about a very old root version. 

PS. I am also curious if Valery supports latest versions of ROOT or compilations for NT are made "automatically"?

Best regards,
Anton



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:43 MET