So if I declare my class this way:
private:
vector<ContractInfo*> obligations;
map<EconActor*, double> borrowers;
double discountRate;
then my unit tests fail. But if I do it this way:
private:
double discountRate;
vector<ContractInfo*> obligations;
map<EconActor*, double> borrowers;
they pass. My heart fills with unbounded joy at the thought of tracking this one down...
I suspect I have a destructor somewhere that I ought to have declared virtual, but didn't. Any better guesses?