0

私は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;
}
4

2 に答える 2