template <typename T>
class Matrix { };

template <typename T>
class MyClass
{
	public:
	Matrix<T> myFunc() { return {}; }
};

template <typename T>
using my_f = Matrix<T> (MyClass<T>::*)();

int main() {
	my_f<double> f = &MyClass<double>::myFunc;
	return 0;
}