Dear advanced c/g++ programers: I tried the following code ----------------------------------------------------------------------------------------- // Example 6-8 Storing strings in a hast_set #include <iostream> #include <string> #include <hash_set> using namespace std; int main() { hash_set<std::string> hsString; string s = "bravo"; hsString.insert(s); s = "alpha"; hsString.insert(s); s = "charlie"; hsString.insert(s); for (hash_set<string>::const_iterator p = hsString.begin(); p != hsString.end(); ++p) cout << *p << endl; // Note that these aren't guaranteed // to be in sorted order } --------------------------------------------------------------------------------------------------- but I got the following compile error(g++ 4.5.2) ---------------------------------------------------------------- eric@eric-laptop:~/cppcookbook/ch6$ g++ -Wno-deprecated Example6-8.cpp Example6-8.cpp: In function ‘int main()’: Example6-8.cpp:9:3: error: ‘hash_set’ was not declared in this scope Example6-8.cpp:9:23: error: expected primary-expression before ‘>’ token Example6-8.cpp:9:25: error: ‘hsString’ was not declared in this scope Example6-8.cpp:18:23: error: expected primary-expression before ‘>’ token Example6-8.cpp:18:24: error: ‘::const_iterator’ has not been declared Example6-8.cpp:18:41: error: expected ‘;’ before ‘p’ Example6-8.cpp:19:8: error: ‘p’ was not declared in this scope eric@eric-laptop:~/cppcookbook/ch6$ --------------------------------------------------------------------- your can get the code to test by yourself source code http://examples.oreilly.com/9780596007614/ Thanks your help a lot in advance, Eric