I have implemented functions to find the max and min. But I get the error code below: [Error] invalid conversion from 'std::ios_base& (*)(std::ios_base&)' to 'int' [-fpermissive]
#include<iostream>
    using namespace std;
    int a[1000], n, maxDiff, maxValue, minValue;
    void nhap() {
        int i, n;
        cout << "Nhap n: ";
        cin >> n;
        for ( int i =1; i <= n; i ++) {
            cout << "Nhap vao mang thu i: " << i << endl;
            cin >> a[i];
        } 
    }
    void findmaxdiff(int left, int right, int maxDiff, int& maxValue, int& minValue) {
        int mid;
        int maxD1, maxV1, minV1;
        int maxD2, maxV2, minV2;
        if(left==right) {
            maxDiff = 0;
            maxValue = a[right];
            minValue = a[right];
        }
        else {
            mid = (left +right) / 2;
            findmaxdiff(left, mid, maxD1, maxV1, minV1);
            findmaxdiff(mid+1, right, maxD2, maxV2, minV2);
            maxDiff = maxV2 - minV1;
            if(maxDiff< maxD1) maxDiff = maxD1;
            if(maxDiff< maxD2) maxDiff = maxD2;
            if(maxV1> maxV2){
                maxValue= maxV1;
            }
            else {
                maxValue = maxV2;
            }
            if(minV1< minV2) {
                minValue = minV1;
            }
            else {
                minValue= minV2;
            }
        }
    }
    int main() {
        nhap();
        findmaxdiff(left, n, maxDiff, maxValue, minValue);
        cout << maxDiff;
    }

 
     
    