I tried to write my own function for this, but I get wrong result
#include <iostream>
using namespace std;
template<typename T>
int array_length(T v[]) {
    return (sizeof v)/sizeof(T);
}
int main() {
    int v[] = {1, 2, 3, 4};
    cout << array_length(v) << endl;
    return 0;
}
 
     
    