Generic C++

#include 
using namespace std;
template  X sum(X *data, int size)
{
  int i;
  X result = 0;
  for(i = 0; i   return result;
}
int main()
{
  int i[] = {1, 2, 3, 4};
  double d[] = {1.1, 2.2, 3.3, 4.4};
  cout << sum(i, 4) << endl;
  cout << sum(d, 4) << endl;
  return 0;
}