Listing 2: First array attempt

template <typename T, unsigned int N>
class Array 
{
   T * m_pArrayElements; // C array storing all Array elements

public:

   ReturnType operator [] (unsigned int index); 
   const ReturnType operator [] (unsigned int index) const; 
};