Hej, mam następujący problem. Mam kilka map o różnych kluczach i tych samych wartościach, np. map<int, MyClass>, map<double,MyClass>, map<string,MyClass> itd. Następnie chcę wykasować z wszystkich klas te wpisy, gdzie MyClass ma konkretną wartość.
- utworzyłem sobie szablon
template <typename value="value">
void removeFromMaps(std::map<int, value> * myMap, MyClass & myclass)
{
std::map<int, value>::iterator it; // ta linijka nie dziala
(map)<int,value>::iterator it // tak tez nie dziala
/ reszta funkcji */
}
main(){
map<int, MyClass> map1;
map<double, MyClass> map1;
MyClass myclass1, myclass2;
removeFromMaps(&map1, myclass);
removeFromMaps(&map2, myclass);
}
, ale już samo to się nie kompiluje. Nie wiem co robie zle i czy mozna to zrobic jakos lepiej?
- czy mozna stworzyc jakis zbior map rozniacych sie wartosciami, tak zeby ten zbior przeslac tylko raz do funkcji, ktora sobie ten zbior przeiteruje i dla kazdej mapy z tego zbioru wykona jakas czynnosc ?
Mam nadzieje, ze ktos zrozumie o co mi chodzi :)
Dzieki z gory