You can do it for every types as long as they can be used as a regular argument.
I would say here that MyClass is not a valid type to use as a parameter of ClassTemplate, it may be an operator or conversion not supported because it works with int. See what operation you use on type T and check if MyClass have them or not.