Hi, On Tue, 28 Oct 2003, Bastian Schern wrote:
Michael Matz schrieb: [...]
s/typedef// Das ist C++. Was meinst Du denn damit?
'struct S' erzeugt (im Gegensatz zu C) sofort den Typen 'S'. Keine typedefs notwendig (du hast es ehh falsch benutzt, da du den zu definierenden Namen weggelassen hast). Also typedef loeschen.
Du brauchst mind. einen operator< auf dem Indextyp. Sonst kann keine map<> implementiert werden. Wie implementiere ich den?
Aehnlich wie Ralf.
trafana.cpp|78| error: template-argument ` || analyzeAllPackets(std::vector
&)::ltstr'
Diese Funktion z.B existiert in deinem snippet nicht.
Ups!
struct ltstr { bool operator()( flow_key_t& s1, flow_key_t& s2 ) const { return( (s1.src_addr+s1.dst_addr) < (s2.src_addr+s2.dst_addr) ); } };
Ah, das ist dein operator<. Tja, aber in dem Snippet hast du ihn nicht benutzt. Also sorry, aber mit derart downgestrippten Beispielen, die nicht kompilieren, den Fehler aber auch nicht zeigen, kann man wenig anfangen.
Ich will ja nicht meinen eigenen Rechner analysieren, sondern das OC-3 Interface eines großen Internet Provider Routers.
---> hash_map. Da musst du dann aber eben ne hash Funktion definieren. Ciao, Micha.