I am using sizeof trick to get the length of array, but it only looks like it's adding 1 and 2.
#include <iostream>
#include <stdio.h>
using namespace std;
int add(int array[]) 
{
   int sum = 0;
   for (int i = 0; i < sizeof(array)/sizeof(array[0]); i += 1)
   {
       sum += array[i];
   }
   return sum;
}
int main()
{
    int array[4] = {1, 2, 3, 4};
    cout << add(array);
    return 0;
}
Output is 3. What is wrong?
 
    