#include <iostream>
#include <typeinfo>

template <typename T, int Rows , int Columns>
void info( T (&array)[Rows][Columns] )
{
	std::cout << "Array Type: " << typeid(T).name() << std::endl;
	std::cout << "Array Size: " << Rows << 'x' << Columns << std::endl;
}

int main()
{
	int array1[32][1];
	float array2[12][5];
	double array3[7][123];
	
	info(array1);
	info(array2);
	info(array3);
	return 0;
}