What is difference between `template <typename T>` and `template <class T>`.
For me both are generating the same result.

for example

```
template <class T>
T Average(T *atArray, int nNumValues)
{
    T tSum = 0;
    for (int nCount=0; nCount < nNumValues; nCount++)
        tSum += atArray[nCount];

    tSum /= nNumValues;
    return tSum;
}

```

if I change it to `template <typename T>` it's the same