#include <iostream>

template<bool> struct CTAssert;
template<> struct CTAssert<true>{};


template<int rows, int cols>
class Matrix
{
public:
	void template_method();
};

template<int rows, int cols>
void Matrix<rows,cols>::template_method()
{
	CTAssert<rows==cols> check;
}

int main() {

	Matrix<2,3> m1;
	Matrix<3,3> m2;
	
	m2.template_method();
	//m1.template_method();
	
	return 0;
}