Error C2893

错误提示:
Error   1   error C2893: Failed to specialize function template 'unknown-type std::less::operator ()(_Ty1 &&,_Ty2 &&) const'

错误消息

未能使函数模板“template name”专用化

编译器未能使函数模板专用化。有多种原因可导致此错误。

通常,处理 C2893 错误的方法就是检查函数的签名,并确保可以实例化每个类型。

原因:在使用std::min,std::max,std::sort等函数的时,函数不知道该如何进行大小比较
解决:重载<或者>运算符,或者用函数的其他重载形式
default (1)
template  const T& min (const T& a, const T& b);
custom (2)
template 
  const T& min (const T& a, const T& b, Compare comp);
initializer list (3)
template  T min (initializer_list il);
template 
  T min (initializer_list il, Compare comp);

你可能感兴趣的:(错误改正)