/ *调试信息表明const int不能转换为int ,但是当我改变return& vec [i];返回(int )& vec [i] * /
int* find(const vector<int> &vec, const int value) {
for (int i = 0; i < vec.size(); i++) {
if (vec[i] == value) {
cout << "找到该值得地址为:" << &vec[i] << endl;
return &vec[i];
}
}
return NULL;
}
答案 0 :(得分:0)
你说该函数将返回一个指向非常量数据的指针,但随后返回一个指向常量数据的指针(vec
是常量,其中的数据也是如此)。常量和非常量数据不相同。
简单的解决方案是将返回类型更改为const int*
。