首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++ sort+模板解决办法

2012-04-08 
c++sort+模板typedef struct{int idint groupint level}RuleTtemplate class Tbool greater_marker(

c++ sort+模板
typedef struct
{
  int id;
  int group;
  int level;
}RuleT;

template <class T>
bool greater_marker(const T &arg1, const T &arg2)
{
  if (arg1.group > arg2.group)
  return true;
  else if (arg1.group < arg2.group)
  return false;
  else if (arg1.level > arg2.level)
  return true;
  else
  return false;
}

int main(int argc, char**argv) {
  // Prints welcome message...
  vector<RuleT> sig;
  //........省略对变量sig赋值
  sort(sig.begin(), sig.end(), greater_marker);
  return 0;
}

错误提示:
welcome.cc:66: error: no matching function for call to `sort(__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, __gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, <unknown type>)'

这个地方想用模板怎么办??



[解决办法]
sort(sig.begin(), sig.end(), greater_marker<RuleT>);

热点排行