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

GCC 下STL 中sort函数无法正常工作?该怎么解决

2012-04-03 
GCC 下STL 中sort函数无法正常工作?C/C++ codevectorstring readFile(string fileName){coutFileName

GCC 下STL 中sort函数无法正常工作?

C/C++ code
vector<string> readFile(string fileName){    cout<<"FileName : "<<fileName<<endl ;    assert(fileName.empty() == false ) ;    ifstream in(fileName.c_str()) ;    assert(in != NULL ) ;    vector<string > data ;    string line;        while(! in.eof()  ){        getline(in,line,'\n') ;        data.push_back(line) ;    }    in.close() ;    cout<<"Data Size : "<<data.size()<<endl ;    return data ;}int compare_me(const string &s1,const string &s2){    //return s1.compare(s2) ;    int len1 =s1.length() ,        len2 = s2.length() ;    if(len1 < len2)        return -1 ;    else if(len1 > len2 )        return 1 ;    else         return 0 ;}void displayVector(vector<string> &data){    int i = 0 ;    for(; i < data.size() ; i++){        cout<<(i+1)<<"   :"<<data[i]<<endl ;        if((i+1) % 10 == 0 )            getchar() ;    }}void testSort(){    vector<string> data = readFile(__FILE__ ) ;    displayVector(data) ;        cout<<"data size At1 : "<<data.size()<<endl ;        vector<string>::iterator end = data.end() ;    vector<string>::iterator begin = data.begin() ;    sort( begin ,end  ) ;     //sort( begin ,end ,compare_me ) ;// 为什么当用第三个参数的时候就能编译,但是不能运行?  我用的是GCC    cout<<"data size At2 : "<<data.size()<<endl ;        displayVector(data) ;} 


[解决办法]
目测 sort第三参数返回值为bool类型,你的返回值状态太多了

热点排行