Mapy, listy i o co w tym wszystkim chodzi?
Ostatnio zmodyfikowano 2011-09-22 10:30
Aplauz Temat założony przez niniejszego użytkownika |
Mapy, listy i o co w tym wszystkim chodzi? » 2011-09-22 09:50:32 Witam, Ja Aplauz znany troll tego zacnego forum, pisząc mój nieepicki program natknąłem się na problem, którego własnymi siłami nie mogę rozwiązać. Doszedłem do wniosku, że skoro nie mogę zmienić zmiennej H_KEY na string, dobrym rozwiązaniem będzie użycie mapy. Jednak moja znajomość mapy jest nieco ograniczona, więc o czymś takim jak mapa zawierająca listę pojęcie mam raczej niewielkie. Mimo wszystko postanowiłem przećwiczyć owe zagadnienie i tu pojawił się owy problem. #include<iostream> #include<list> #include<map> #include<string>
using namespace std;
map < list < string >, list < int >> mapka; list < string > lista_string; list < int > lista_int;
int main() { lista_string.push_back( "Zenek" ); lista_string.push_back( "Jurek" ); lista_string.push_back( "Magda" ); lista_string.push_back( "Jolka" ); lista_int.push_back( 25 ); lista_int.push_back( 20 ); lista_int.push_back( 16 ); lista_int.push_back( 23 ); list < string >::iterator it_string; list < int >::iterator it_int; for( it_string = lista_string.begin(); it_string != lista_string.end(); it_string++ ) for( it_int = lista_int.begin(); it_int != lista_int.end(); it_int++ ) { mapka.insert( pair < list < string >, list < int >>( * it_string, * it_int ) ); } for( map < list < string >, list < int >>::iterator it_map = mapka.begin(); it_map != mapka.end(); it_map++ ) { cout << it_map->first << ", " << it_map->second << endl; } system( "pause" ); return 0; }
Z jakiegoś nieznanego mi powodu (co wynika zapewne z mojej niewiedzy) program w miejscu, w którym chce wyświetlić zawartość mojej mapki wywala mi błąd następującej treści: 1>c:\users\admin\documents\visual studio 2010\projects\zadanie 2\zadanie 2\statek.cpp(37): error C2679: binary '<<' : no operator found which takes a right-hand Dlaczego tak się dzieje? Jak mogę to naprawić? I czy w ogóle ten program ma sens? Może są jakieś lepsze sposoby na zapełnienie mojej "mapki", niż używanie dwóch for-ów? Pomocy! |
|
DejaVu |
» 2011-09-22 10:30:33 Nie rozumiesz po prostu kontenera map. Pierwszy parametr szablonu to tzw klucz mapy, a drugi to wartość. Kluczem może być łańcuch znaków, liczba, struktura bądź klasa, która posiada przeciążone odpowiednie operatory porównania. Na podstawie klucza można wyszukać wartość jaka znajduje się w kontenerze. Wartością może być np. cokolwiek. |
|
« 1 » |