Language Basics Visual C++ .NET

#include "stdafx.h"
using namespace System;
generic  where T: gcnew()
T CreateInstance()
{
   return gcnew T();
}
ref class MyClass
{
   public:
   MyClass() { }
};
int main()
{
   int i = CreateInstance();
   MyClass^ r = CreateInstance();
}