Generics Visual C++ .NET

#include "stdafx.h"
using namespace System;
generic < typename T>
void GenericFunction(array^ array_of_t)
{
   for each (T t in array_of_t)
   {
      Console::WriteLine(t);
   }
}
int main()
{
   array^ array_of_string;
   array_of_string = gcnew array{ "abc", "def", "ghi" };
   GenericFunction( array_of_string );
}