泛型编程,请问这个小案例为何报错no matching function for call to "find"

#include <iostream>
#include<vector>

using namespace std;


template <typename elemtype>
elemtype* find(const elemtype *first,
               const elemtype *last,
               const elemtype &value);

template <typename element>
inline element* begin(const vector<element> &vec);

template <typename element>
inline element* end(const vector<element> &vec);


int main()
{

    vector <int> svec{1,2,3};
****    int* it = find(begin(svec),end(svec),svec);****
    return 0;
}


template <typename elemtype>
elemtype* find(const elemtype *first,
               const elemtype *last,
               const elemtype &value)
{
    if(!first||!last)
        return 0;
    for(;first!=last;++first)
        if(*first==value)
            return first;
    return 0;
}

template <typename element>
inline element* begin(const vector<element> &vec)
{
    return vec.empty() ? 0 : &vec[0];
}

template <typename element>
inline element* end(const vector<element> &vec)
{
    return vec.empty() ? 0 : &vec[vec.size ()];
}

https://blog.csdn.net/fdd096030079/article/details/89856774