Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Predikat za mapu

[es] :: C/C++ programiranje :: Predikat za mapu

[ Pregleda: 4743 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Preeky
Bg

Član broj: 1586
Poruke: 40
*.beotel.net



+21 Profil

icon Predikat za mapu13.09.2002. u 12:32 - pre 263 meseci
Imam jedan problem prilikom prosledjivanja predikat funkcije mapi.

Kreiram mapu na sledeci nacin:

map<string,int> m1(predikat_f);

gde je predikat_f funkcija koja treba da drzi mapu sortitanu prema vrednosti(int).

Ali Visual c++ 6 izbacuju error kad deklarishem mapu:
C:\Windows\Desktop\Preeky\level.cpp(276) : error C2664: '__thiscall
Context does not allow for disambiguation of overloaded function


Evo je funkcija:

bool predikat_f(const pair<string,int>& p1 , const pair<string,int>& p2)
{
return (p1.second) < (p2.second);
}


Zna li neko u cemu je problem?

Pozdrav...



int main[] = { 0xc3 };
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..g-c5300-1.dialup.nethere.net



+6 Profil

icon Re: Predikat za mapu15.09.2002. u 23:47 - pre 263 meseci
Uradi nešto ovako:

Code:

#include <string>
#include <map>

using namespace std;

bool predikat_f(string& p1 , string& p2)
{
return (p1 < p2);
}


int main (void)
{
    typedef map<string, int, bool(*)(string&, string&)> CustomMap;
    CustomMap m1((const CustomMap::key_compare) predikat_f);
}

 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Predikat za mapu16.09.2002. u 18:13 - pre 263 meseci
Evo jos par varijacija na temu:
Code:

std::map<std::string, int, std::less<std::string> > mapa;

ili
Code:

struct predikat_fn {
    bool operator()(const std::string& p1 , const std::string& p2)
    {
        return p1 < p2;
    }
};

std::map<std::string, int, predikat_fn> mapa;

ili
Code:

bool predikat_f(const std::string& p1 , const std::string& p2)
{
    return p1 < p2;
}

std::map<std::string, int, bool (*)(const std::string &, const std::string &)> mapa(predikat_f);


i malo preterivanja,
Code:

std::map<std::string, int, std::pointer_to_binary_function<const std::string &, const std::string &, bool> > mapa(std::ptr_fun(predikat_f));

 
Odgovor na temu

Preeky
Bg

Član broj: 1586
Poruke: 40
*.beotel.net



+21 Profil

icon Re: Predikat za mapu17.09.2002. u 16:57 - pre 263 meseci
hvala tati i spasicu na odgovorima ali nije to ono sto mi je trebalo.

Znam da mapa automatski sortira parove po kljucu kad se u nju ubace
medjutim bilo mi je potrebano u mom slucaju da ih sortira po value-u
a ne po kljucu (posto je dafault funkcija <kljuc> less )


U svakom slucaju problem sam resio na drugi nacin



int main[] = { 0xc3 };
 
Odgovor na temu

[es] :: C/C++ programiranje :: Predikat za mapu

[ Pregleda: 4743 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.