007
12.10.2006, 21:35 Uhr
~grimmel
Gast
|
ah jetzt verstehe ich - danke.
ich habe folgende implementierung eines hashs versucht:
Code: |
#include <iostream> #include <ext/hash_map>
Class::Class() { //std::hash_map<int, double> map(10); stdext::hash_map< double, int,size_t(*)(double), eqdouble > map(10,hash_d); //hash_map< double, int,size_t(*)(double), eqdouble > map(10,hash_d);
map[3.14] = 3; map[2.7] = 2; map[2.8] = 15;
std::cout << "2.7 -> " << map[2.7] << std::endl; }
struct eqdouble { bool operator()(double d1, double d2) const { return d1 == d2; } };
struct eqstr { bool operator()(const char* s1, const char* s2) const { return strcmp(s1, s2) == 0; } };
size_t Caching::hash_d( double d ) { return (size_t)(fabs( d ));
|
Mein error lautet:
bei allen drei varianten: hasp_map not found (first use this function) stdext undeclared( firlst use this function)
ich habe in meinen bibliotheken geschaut und auch unter /ext/ die betreffenden hash_map files bzw. stl_hash_map gefunden... aber irgendwie bringe ich das nicht zum laufen.... |