const int转换为int *

时间:2017-01-08 03:51:16

标签: c++ const c++14

  

/ *调试信息表明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;
    }

1 个答案:

答案 0 :(得分:0)

你说该函数将返回一个指向非常量数据的指针,但随后返回一个指向常量数据的指针(vec是常量,其中的数据也是如此)。常量和非常量数据不相同。

简单的解决方案是将返回类型更改为const int*