witam,
mam maly problem.
zdefiniowalem mape:
cel jest taki, zeby miec double TERMIN i wektor dwoch double, bo chce sortowac te dwojki dla zadanego double TERMIN, tzn, dla kazdego TERMIN maja byc dwojki w mapie od najmniejszego do najwiekszego (ze wzgledu na pierwszy argument kazdej dwojki)
problem powstaje, gdy chce wpisac pare w mape dla danego TERM
blad jest tresci takiej:
Cannot assign Pair<double*, double*> to std::vector<Pair<double*, double*> > without "std::vector<Pair<double*, double*> >::operator=(const std::vector<Pair<double*, double*> >&)
ale przeciez nie moge pisac operatora w klasie ::std.
jak zdefiniowac operator= abym mogl wpisac pary StrikeVolPair na te pary z mapy?
jesli nie bedzie na to sposobu, to czy zdefiniowanie struktury z dwoma argumentami pozwoli mi osiagnac ten sam efekt?
mam maly problem.
zdefiniowalem mape:
typedef Pair<double *, double * > vect;
typedef std::vector<vect>StrikeVolVector;
typedef std::map<double, std::vector<vect>, ltstr> TermStrikeVolMap;cel jest taki, zeby miec double TERMIN i wektor dwoch double, bo chce sortowac te dwojki dla zadanego double TERMIN, tzn, dla kazdego TERMIN maja byc dwojki w mapie od najmniejszego do najwiekszego (ze wzgledu na pierwszy argument kazdej dwojki)
problem powstaje, gdy chce wpisac pare w mape dla danego TERM
typedef Pair<double *, double * > StrikeVolPair;
StrikeVolVector KVolVect;
TermStrikeVolMap VolMap;
double * STRIKEptr=&STRIKE;
double * SIGMAptr=&SIGMA;
StrikeVolPair * kvPair = new StrikeVolPair(STRIKEptr, SIGMAptr);
KVolVect.push_back(*kvPair);
VolMap[TERM]=*kvPair; // error !blad jest tresci takiej:
Cannot assign Pair<double*, double*> to std::vector<Pair<double*, double*> > without "std::vector<Pair<double*, double*> >::operator=(const std::vector<Pair<double*, double*> >&)
ale przeciez nie moge pisac operatora w klasie ::std.
jak zdefiniowac operator= abym mogl wpisac pary StrikeVolPair na te pary z mapy?
jesli nie bedzie na to sposobu, to czy zdefiniowanie struktury z dwoma argumentami pozwoli mi osiagnac ten sam efekt?