打印矢量成员。错误

时间:2012-03-29 12:35:50

标签: c++ vector compiler-errors

我需要排序然后打印结果增加和减少。我的打印有些问题。

代码:

 void srtAsc(Array M){
    vector <int> days[31];

for(int i=0; i<31; i++){
    int s=0;
    for(int j = 0; j<6; j++){
        s += M.M[i][j];
        days[i] = s; //// HERE

    }
 sort(days[0],days[31]);
 }
 for(int i=0; i<31;i++){
    cout<<i<<". "<<days[i]; ///// HERE 
    cout<<endl;
 }
  }

错误: /////这里的地方我也得到了一个错误,也许它们是相关的。 “没有匹配的oeprators'='

c:\mingw\bin\../lib/gcc/mingw32/4.6.1/include/c++/bits/stl_algo.h:2072:4: error: no   match for 'operator--' in '--__next'
c:\mingw\bin\../lib/gcc/mingw32/4.6.1/include/c++/bits/stl_algo.h:2074:7: error: no match for 'operator*' in '*__last'

1 个答案:

答案 0 :(得分:2)

STL算法(如sort)对迭代器进行操作,因此您需要像这样调用sort

sort(days.begin(), days.end());

但首先,修复你的代码:你创建了31个向量 - 而不是带有31个元素的向量。使用

vector<int> days(31);