const int transforms to int*

const int transforms to int*

本文关键字:int to transforms const      更新时间:2023-10-16

/*调试信息表明 const int 不能转换为 int,但是当我更改返回 &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;
    }

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

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