我是 C++ 新手,并尝试在“Essential C++”一书中使用一些示例。当我从书中编写这段代码时:
int *find(const vector<int> &vec, int value) { ... }
g++ 编译器给了我一个错误:
error: invalid conversion from 'const int*' to 'int *' [-fpermissive]
我尝试将其更改为
const int *find(const vector<int> &vec, int value)
它工作正常。
所以我只是想知道这有什么详细的原因吗?谢谢!
这是书中的代码:
int* find(const vector<int> &vec, int value) {
for(int ix = 0; ix < vec.size(); ++ix)
{
if(vec[ix] == value)
return &vec[ix];
}
return 0;
}