我想知道如何使用sort函数对一个类中的私有向量进行排序:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
class A{
private:
const vector<int> myvec;
A(vector<int>& vec) : myvec(vec) { }
public:
const vector<int>& getvec() { return myvec; }
int get_sec_element(){
int sec_ele = 0;
sort(myvec.begin(), myvec.end());
sec_ele = myvec[2];
return sec_ele;
}
};
因此,如果我创建了
A myvec_object
并为其填充了已经具有值的向量,则校准myvec_object.get_sec_ele()将返回向量中的第二个元素。但是,编译器给出了一条巨大的错误消息:“从此处实例化”。可能是什么问题呢? 最佳答案
您将myvec
声明为const
-您希望如何修改它?
将myvec
声明为:
vector<int> myvec;
关于c++ - 如何使用排序对类中的 vector 进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7780640/