VS2005使用STLport问题
现有vs2005下使用的stlport的代码如下:
#ifdef WIN32
namespace stdext {
template<>
class hash_compare<MatchIndex> {
public:
static const size_t bucket_size = 4;
static const size_t min_buckets = 8;
size_t
operator()(const MatchIndex &__x) const
{ return __x.first * 1529 + __x.second; }
bool operator()(const MatchIndex &__x1, const MatchIndex &__x2) const {
return (__x1.first < __x2.first) || (__x1.first == __x2.first && __x1.second < __x2.second);
}
};
}
但是编译时出现错误:error C2143: 语法错误 : 缺少“;”(在“<”的前面);
error C2913: 显式专用化;“stdext::hash_compare”不是类模板的专用化;
error C2059: 语法错误 : “<”;
error C2143: 语法错误 : 缺少“;”(在“{”的前面);
error C2447: “{”: 缺少函数标题(是否是老式的形式表?);
error C2039: “hash_map”: 不是“stdext”的成员
请问各位高手这是什么错误?怎么解决?