本地能编译通过,但是在一个脑残oj上RE了。。不知道是不是哪里写的不规范
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h: In function ‘const _Tp& std::__median(const _Tp&, const _Tp&, const _Tp&) [with _Tp = S]’:
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:2642: instantiated from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = S*, _Size = int]’
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:2713: instantiated from ‘void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = S*]’
/main.cxx:34: instantiated from here
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:91: error: passing ‘const S’ as ‘this’ argument of ‘bool S::operator<(const S&)’ discards qualifiers
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:92: error: passing ‘const S’ as ‘this’ argument of ‘bool S::operator<(const S&)’ discards qualifiers
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:94: error: passing ‘const S’ as ‘this’ argument of ‘bool S::operator<(const S&)’ discards qualifiers
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:98: error: passing ‘const S’ as ‘this’ argument of ‘bool S::operator<(const S&)’ discards qualifiers
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_algo.h:100: error: passing ‘const S’ as ‘this’ argument of ‘bool S::operator<(const S&)’ discards qualifiers
以上是错误提示。。
class S{
public:
int l,r;
S* nxt;
S(int x,int y){
l=x;
r=y;
nxt=NULL;
}
S(){
l=0; r=0; nxt=NULL;
}
int con(){
if(nxt->l<=r) return 1;
else return 0;
}
bool operator <(const S& next){
if(l<next.l) return 1;
else return 0;
}
};
后面用到了sort
sort(seg+1,seg+n+1);