Language: C++

#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<vector>

using namespace std;

vector<int> pre,in,post;
int i = 0;

void recon(int left,int right){
    if (left >= right) return;
    int parent = pre[i];
    i++;
    int mid = distance(in.begin(),find(in.begin,in,end(),parent));
    
    recon(left,mid);
    recon(mid+1,right);
    
    post.push_back(parent);
}

void solve(){
    recon();
    int n = post.size();
    cout << post[0];
    for (int i = 1; i < n; i++) {
        printf(" %d",post[i]);
    }
    cout << endl;
}

int main(){
    int n;
    for (int i = 0; i < n; i++) {
        int a;
        scanf("%d",&a);
        pre.push_back(a);
    }
    for (int i = 0; i < n; i++) {
        int a;
        scanf("%d",&a);
        in.push_back(a);
    }
    
    solve();
    
    return 0;
}

Compiler output:
a.cc: In function 'void recon(int, int)':
a.cc:16:55: error: no matching function for call to 'end()'
   16 |     int mid = distance(in.begin(),find(in.begin,in,end(),parent));
      |                                                    ~~~^~
In file included from /usr/include/c++/14/bits/range_access.h:36,
                 from /usr/include/c++/14/string:53,
                 from /usr/include/c++/14/bits/locale_classes.h:40,
                 from /usr/include/c++/14/bits/ios_base.h:41,
                 from /usr/include/c++/14/ios:44,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:1:
/usr/include/c++/14/initializer_list:99:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::end(initializer_list<_Tp>)'
   99 |     end(initializer_list<_Tp> __ils) noexcept
      |     ^~~
/usr/include/c++/14/initializer_list:99:5: note:   candidate expects 1 argument, 0 provided
/usr/include/c++/14/bits/range_access.h:74:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.end()) std::end(_Container&)'
   74 |     end(_Container& __cont) -> decltype(__cont.end())
      |     ^~~
/usr/include/c++/14/bits/range_access.h:74:5: note:   candidate expects 1 argument, 0 provided
/usr/include/c++/14/bits/range_access.h:85:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.end()) std::end(const _Container&)'
   85 |     end(const _Container& __cont) -> decltype(__cont.end())
      |     ^~~
/usr/include/c++/14/bits/range_access.h:85:5: note:   candidate expects 1 argument, 0 provided
/usr/include/c++/14/bits/range_access.h:106:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::end(_Tp (&)[_Nm])'
  106 |     end(_Tp (&__arr)[_Nm]) noexcept
      |     ^~~
/usr/include/c++/14/bits/range_access.h:106:5: note:   candidate expects 1 argument, 0 provided
/usr/include/c++/14/bits/range_access.h:115:31: note: candidate: 'template<class _Tp> _Tp* std::end(valarray<_Tp>&)'
  115 |   template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
      |                               ^~~
/usr/include/c++/14/bits/range_access.h:115:31: note:   candidate expects 1 argument, 0 provided
/usr/include/c++/14/bits/range_access.h:116:37: note: candidate: 'template<class _Tp> const _Tp* std::end(const valarray<_Tp>&)'
  116 |   template<typename _Tp> const _Tp* end(const valarray<_Tp>&) noexcept;
      |                                     ^~~
/usr/include/c++/14/bits/range_access.h:116:37: note:   candidate expects 1 argument, 0 provided
a.cc: In function 'void solve()':
a.cc:25:10: error: too few arguments to function 'void recon(int, int)'
   25 |     recon();
      |     ~~~~~^~
a.cc:12:6: note: declared here
   12 | void recon(int left,int right){
      |      ^~~~~