这是一个包含一些数据和重载的相等运算符的类:
class Point {
int x, y;
public:
Point(int x0, int y0): x(x0), y(y0) {};
bool operator==(const Point& rval) {
return x == rval.x && y == rval.y;
}
};
这是一个成功获取此类对象向量的函数,并报告给定对象是否包含在其中:
bool hasVal(std::vector<Point>& vec, const Point& target) {
return find(vec.begin(), vec.end(), target) != vec.end();
}
现在,我认为(并且希望)我可以使向量引用参数
const
,因为它不打算以任何方式修改向量或其内容。但是,标记向量引用 const
会导致编译器错误:
241 17 C:\Program Files (x86)\Embarcadero\Dev-Cpp\TDM-GCC-64\lib\gcc\x86_64-w64-mingw32\9.2.0\included