ideally, do not use the (now deprecated) functionality in namespace __gnu_cxx . they have been superceded by tr1 in c++0x. use -std=c++0x (gcc 4.3) , std::tr1 (gcc4.2) or boost::tr1 (earlier versions).
the error is because __gnu_cxx::hash<> is a struct (function object); not a function. if you have to use it, use it this way